Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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 ng重复中的ng模型不更新参考对象_Javascript_Angularjs_Json_Angularjs Ng Repeat_Angularjs Material - Fatal编程技术网

Javascript ng重复中的ng模型不更新参考对象

Javascript ng重复中的ng模型不更新参考对象,javascript,angularjs,json,angularjs-ng-repeat,angularjs-material,Javascript,Angularjs,Json,Angularjs Ng Repeat,Angularjs Material,在我的控制器中,我有一个对象: $scope.selectedMap = { map: '', mapDesc: '', stops_json: "", stopLength: [] }; 此对象中的stops_json键包含另一个对象,如下所示: { desc: "PRG-BUD-HR-PAY", stop1:"DEPT", stop2:"ACCT", stop3:"ACCT2", stop4: 158, stop5:"CCT", stop6:"CCA",

在我的控制器中,我有一个对象:

$scope.selectedMap = {
    map: '', mapDesc: '', stops_json: "", stopLength: []
};
此对象中的stops_json键包含另一个对象,如下所示:

{
  desc: "PRG-BUD-HR-PAY",
  stop1:"DEPT",
  stop2:"ACCT",
  stop3:"ACCT2",
  stop4: 158,
  stop5:"CCT",
  stop6:"CCA",
  stop7: 156
}
我在ng repeat中使用这个子对象,并为每个停止生成输入:

<p class="row col-md-12">
  <strong>Description:&nbsp;</strong>{{ selectedMap.stops_json.desc }}
</p>
<div class="row col-md-12 float-left">
    <md-input-container ng-repeat="stop in selectedMap.stops_json" ng-if="!$first" ng-model="stop" class="col-md-12">
        <label>Stop&nbsp;{{ $index }}:</label>
        <input class="col-md-8 float-left mapStops" ng-model="stop" aria-label="Route Stop Description">
    </md-input-container>
</div>

说明:{{selectedMap.stops\u json.desc}

停止{{$index}}:

我的问题是,当我更改输入标记的值时,停止\u json对象不会更改。我的印象是,这是应该的,因为这是建模的对象。我显然错了,有人能教我吗?

首先要提几个问题:

  • 如果选择将对象迭代与
    ng repeat
    一起使用,则依赖于
    $first
    ng If
    是不确定的(即,不保证按键定义顺序迭代)
  • ng repeat
    上应用
    ng模型
    绑定以使其组成部分可编辑是不正确的。每个项目的模型应改为应用
    ng模型
我创建了一个精简的代码片段示例,演示如何使重复输入能够更改
stops\u json
模型

基本上,您需要确保
ng repeat
中的
input
元素直接绑定到您的
stops\u json
模型,以便任何编辑都会影响它


另外,请注意,所有数值属性都应该使用
输入的
type=“number”
变体,否则任何编辑都会将值设置为字符串。

谢谢,这非常有用!今天上午我将试一试,并向大家汇报,现在我有时间深入研究这个问题,我必须说这是一个非常好的答案。再次感谢你!