javascript - Ionic 和 Angularjs - 表单绑定(bind)似乎只是一种方式。

标签 javascript angularjs ionic-framework

我有一个项目列表。它们是 itemArray 中保存的对象。当你触摸一个时,它会触发 ng-click="openEditor(item)"。像这样:

<ion-list>
  <ion-item ng-repeat="item in ItemArray" class="item item-avatar" ng-click="openEditor(item)">
    <img ng-src="{{iconMap[item.type]}}">
    <h2>{{item.dateString}}</h2><span>{{item.startTimeString}}</span>
    <p>ASA {{item.priority}}: {{item.itemType}}</p>
  </ion-item>
</ion-list>

然后会发生这种情况:

$scope.openEditor =function(item){ 
   $scope.currentItem = item;
   $scope.modal.show();
}

在模态中我有

<select ng-model="currentItem.priority">
          <option value="1">1</option>
          <option value="2">2</option>
          <option value="3">3</option>
          <option value="4">4</option>
          <option value="5">5</option>
        </select>

它在下拉列表中显示了正确的优先级(我已经用很多项目对其进行了测试)。

问题是 - 我无法改变它!如果我尝试,我无法更改下拉列表中的选项。

我收到此错误:

TypeError: Cannot assign to read only property 'priority' of #<Object>

为什么会发生这种情况?我想更改优先级,然后将其保存回 itemArray 和 SQL DB。

最佳答案

听起来您尝试更改的对象是只读的。您需要调查原因,但您可以使用

复制该对象
$scope.openEditor =function(item){ 
   $scope.currentItem = angular.copy(item);
   $scope.modal.show();
}

关于javascript - Ionic 和 Angularjs - 表单绑定(bind)似乎只是一种方式。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28085876/

相关文章:

javascript - 如何将一个范围内的延迟对象集包含在 AngularJS 中另一个范围的摘要中?

javascript - 为什么 localStorage 返回 null?

javascript - 移动设备中的滑动滑动高度拉伸(stretch)图像

javascript - 如何在 FireFox 中检查 Javascript 中的无效日期

javascript - 使用回调更新 Ionic UI 元素

javascript - 使用 x-www-form-urlencoded 内容类型将嵌套对象发布为 formdata

javascript - 在数组中加载大量条目会导致网页卡住

javascript - 用于弹出窗口的新 AngularJS 模块?

javascript - 将当前时间设置为默认时间并更新值

ionic-framework - 行为主体和本地存储