Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 离子型和角型结合似乎只是一种方式。?_Javascript_Angularjs_Ionic Framework - Fatal编程技术网

Javascript 离子型和角型结合似乎只是一种方式。?

Javascript 离子型和角型结合似乎只是一种方式。?,javascript,angularjs,ionic-framework,Javascript,Angularjs,Ionic Framework,我有一张物品清单。它们是保存在itemArray中的对象。当您触摸其中一个时,它会触发ng单击=“OpenEdit(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>

我有一张物品清单。它们是保存在itemArray中的对象。当您触摸其中一个时,它会触发ng单击=“OpenEdit(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>
在模态中,我有

<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>

1.
2.
3.
4.
5.
它在下拉列表中显示了正确的优先级(我已经用很多项对它进行了测试)

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

我得到这个错误:

TypeError: Cannot assign to read only property 'priority' of #<Object>
TypeError:无法分配给的只读属性“priority”#

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

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

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

这对我来说很好,请尝试添加一些plunker来说明问题,它一定与模态有关。您的示例看起来不错,但在模式中,我无法更改项目。我不能在Plunker上重新创建它,因为这意味着重建整个应用程序,并获得所有依赖项。这是一个Ionic应用程序,意味着使用Ionic和获取模式模板等等。根据我的经验,这些问题总是与“隔离范围问题”有关,请检查“currentItem.priority”是否指的是您正在工作的同一范围(可能是您看不到的隔离范围)是的,我想可能就是它。但我不知道如何解决这个问题。如何确保模态的作用域可以看到currentItem的其他作用域?您是否将
$scope
传递给模态<代码>$ionicModal.fromTemplateUrl('my-modal.html',{scope:$scope})。然后(函数(modal){$scope.modal=modal;})
$scope.openEditor =function(item){ 
   $scope.currentItem = angular.copy(item);
   $scope.modal.show();
}