Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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 Angular.js模型首次更新后未更新_Javascript_Angularjs - Fatal编程技术网

Javascript Angular.js模型首次更新后未更新

Javascript Angular.js模型首次更新后未更新,javascript,angularjs,Javascript,Angularjs,我举了一个例子: 如果您双击列表中的“文本消息”,它将显示一个输入框。 在输入框中键入“一”,然后单击更新按钮。 请注意console.log 单击SmsResponseActionParmAndValue展开并找到“文本消息”选项 单击ParmAndValue展开,注意Value属性中有我们键入的“一”值 现在在输入框中输入2,查看console.log,注意到它没有更新吗?它只是第一次更新 请提供帮助…,它将在选定对象中更新,而不是在主JSON对象中 $scope.updateDetail

我举了一个例子:

如果您双击列表中的“文本消息”,它将显示一个输入框。 在输入框中键入“一”,然后单击更新按钮。 请注意console.log 单击SmsResponseActionParmAndValue展开并找到“文本消息”选项 单击ParmAndValue展开,注意Value属性中有我们键入的“一”值

现在在输入框中输入2,查看console.log,注意到它没有更新吗?它只是第一次更新


请提供帮助…

,它将在选定对象中更新,而不是在主JSON对象中

$scope.updateDetails=函数(){


我知道这很难看,但这是一个解决方案:

   $scope.updateDetails = function() {

      angular.forEach($scope.actions.SmsResponseActionParmAndValue,function(action){
          if(action.Description === $scope.selectedAction.Description){
               console.log($scope.selectedAction)
               action.ParmAndValue = $scope.selectedAction.ParmAndValue
               return;
          }
      });

      console.log($scope.actions)
   };

问题是,更新后的模型在内存中没有指向与原始对象相同的数组,因此我们必须更新原始对象指向的数组。

您应该将理解问题所需的代码发布在so上。链接可能会更改,没有人会理解这是怎么回事。此处的代码:但更新一次,很好…但不超过一次…它是同一个数组…我想答案是$digest()。但我还不知道足够多…这很奇怪,因为对我来说,当按下按钮时它不会更新。“文本消息”的值是空字符串,当你执行console.log in$scope.updateDetails时。这在Chrome 48.0.2564.103(64位)上在linux上,但我不知道这是否与结果有关。。。
   $scope.updateDetails = function() {

      angular.forEach($scope.actions.SmsResponseActionParmAndValue,function(action){
          if(action.Description === $scope.selectedAction.Description){
               console.log($scope.selectedAction)
               action.ParmAndValue = $scope.selectedAction.ParmAndValue
               return;
          }
      });

      console.log($scope.actions)
   };