角度视图未根据模型更新

Angular view not updating according to model

本文关键字:模型 更新 视图      更新时间:2023-09-26

当我更新模型时,我的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],它已经成功地将新对象推送到数组中,只是没有显示它。

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

更新

我不知道你的应用程序应该是什么样子的,所以把你的问题和这个小提琴比较一下。在小提琴中,模型是正确绑定的。

--FIDDLE-