Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   Подскажите по моделям (https://javascript.ru/forum/angular/41851-podskazhite-po-modelyam.html)

ivan_bu 01.10.2013 16:45

Подскажите по моделям
 
Всем привет. Недавно начал работать с ангуляром, поэтому сильно не ругайте, если спрошу какую-то глупость.

пример: http://jsfiddle.net/YcPDX/

Суть проблемы:
Есть форма с несколькими полями и значениями, которые записаны в value этих полей. Мне нужно, чтобы при загрузке разметки создавалось начальное состояние модели, со значениями, которые лежат в value. Очень не хочется задавать их отдельно в контроллере или брать с сервера дополнительным запросом.
В документации написано:
Angular неявно объявит модели (путем создания области видимости и присвоения ей подходящего значения) при обработке следующих конструкций шаблона:

Поместите input, select, textarea и другие элементы формы:

<input ng-model="query" value="fluffy cloud">
Приведенный выше код создает модель под названием "query" в текущей области видимости со значением, установленным в "fluffy cloud".

Но этого не происходит. Вопрос - почему? Можно явным образом задать значение через ngInit, но этот способ тоже не нравится.

nerv_ 01.10.2013 20:02

вариант http://jsfiddle.net/YcPDX/2/

ivan_bu 02.10.2013 19:23

Не совсем то, о чем я спрашивал.
Тут https://groups.google.com/forum/#!forum/angular нашел вариант решения проблемы, путем написания подобной директивы:
.directive('example', function ($parse) {
        return function ($scope, $element, $attrs) {
            $parse($attrs.ngModel).assign($scope, $attrs.value);
        };
    });

Но почему же angular не делает этого из коробки, непонятно

nerv_ 02.10.2013 23:28

вариант 2 http://jsfiddle.net/YcPDX/6/


Часовой пояс GMT +3, время: 17:07.