角度视图不根据模型更新

时间:2014-11-11 10:25:39

标签: javascript angularjs angular-ngmodel

我更新模型时,我的Angular视图没有更新。我试过调用$ 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 : ''});
}

我做错了什么?如果我从AddItem方法注销day.items [key],它已成功将新对象推入数组,它只是不显示它。

1 个答案:

答案 0 :(得分:0)

要双向将模型绑定到控制器变量,您需要在ng-model中指定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 >

<强>更新

我不知道你的应用程序应该如何显示,所以将你的问题与这个小提琴进行比较。在小提琴中,模型被正确绑定。

--FIDDLE--