2014-11-11 2 views
0

Мое угловое представление не обновляется при обновлении моей модели. Я пробовал вызывать $ scope.apply() безрезультатно.Угловой вид не обновляется в соответствии с моделью

<div ng-repeat="(key,value) in Day.items track by $index"> 
    <label class="item item-input item-select"> 
     <div class="input-label"> 
      {{key}} 
     </div> 
     <select ng-model="value[$index].itemName" ng-options="item as item for item in Equipment.{{key}}"> 
     <option value="">Select Option</option> 
     </select> 
    </label> 
    <label class="item item-input"> 
     <input type="number" ng-model="value[$index].value" placeholder="Amount/Value"> 
    </label> 

    <button class="button button-balanced button-outline button-block" ng-click="AddItem(Day,key)"> 
     Add {{key}} 
    </button> 
</div> 

А потом в мой контроллер:

$scope.AddItem = function(day,key) { 
    day.items[key].push({itemName : '', value : ''}); 
} 

Что я делаю неправильно? Если я выхожу из day.items [key] из метода AddItem, ему удалось нажать новый объект в массив, он просто не отображает его.

+1

Что ваш контроллер с именем? Убедитесь, что это написано правильно. Кроме того, я не вижу 'ng-controller' в любом месте вашего HTML. Вы должны иметь 'ng-controller =" <имя вашего контроллера> "' как атрибут элемента, которому вы хотите назначить контроллер. – EmmaGamma

+0

Контроллер определенно работает, он указывается в моей маршрутизации. –

+0

Но как контроллер подключен к вашему html? – EmmaGamma

ответ

0

2-way привязывает модель к переменной контроллеров, вам нужно указать в ng-модели scope.array, а не непосредственно значение.

я не могу проверить это прямо сейчас, но это должно быть что-то вроде:

<label class="item item-input" ng-repeat="(key, value) in Day.items"> 
    {{key}}<input type="text" ng-model="Day.items[key].itemName"> 
</label > 

обновления

Я не знаю, как ваше приложение должно exaclty выглядеть, поэтому сравните ваш проблема с этой скрипкой. В скрипке модель правильно привязана.

--FIDDLE--

Смежные вопросы