AngularJS模型在手动更改选项后没有更新
问题描述:
我对AngularJS模型有问题。目前我有两个选择标签,我用一些异步动作填充它,然后我只是通过收到的数据设置选择标签模型。一切运作良好,但如果我手动更改选择标记(选项),那么模型不能再被这个异步操作改变 - 脚本保持我手动选择模型 - 我确信我将正确的数据分配给模型从服务器响应,因为它直到我不改变它手动...AngularJS模型在手动更改选项后没有更新
<select ng-model="sModel" ng-change="changeAction(sModel)" name="sList" id="sList" ng-options="s.name for s in sList track by s.sId"></select>
(第二选择看起来像上面)。
如果有人有一些想法,为什么ngModel不能手动更改后进行更新,请回复:)
答
您必须使用直接变量纳克模型。当在html输入类型中使用ngmodel时,在ng模型中使用对象类型,其他值不反映。
$scope.req={value:""};
在HTML中使用
<select data-ng-model="req.value"></select>
答
奇怪,但我固定它 - 这是因为 '选择' 是由DIV其中有NG-控制器包裹。控制器实际上包含一项具有更改选择选项的操作在删除这个ng-change后,它并没有帮助,但是删除了整个控制器声明。
<div ng-controller="sController">
<select ng-model="sModel" ng-change="changeAction(sModel)" name="sList" id="sList" ng-options="s.name for s in sList track by s.sId"></select>
</div>
有人能解释我这个异常吗? ; /模型总是在最初创建的主/通用控制器(父级)中进行更改。
http://jsfiddle.net/nkr33bo0/
听起来像一个范围界定问题,你有嵌套控制器吗? – tymeJV 2015-03-31 18:19:09
你能提供一些更多代码的可复制案例吗? – floribon 2015-03-31 18:20:06
我没有看到问题。 javascript在哪里? – 2015-03-31 18:29:50