例如,我有这个:
<input type="text" ng-model="model_1" value="{{model_2}}" />
Show me {{model_1}}
问题是当 model_2 更改时,“Show me {{model_1}}”不会更改为新值。
例如,我有这个:
<input type="text" ng-model="model_1" value="{{model_2}}" />
Show me {{model_1}}
问题是当 model_2 更改时,“Show me {{model_1}}”不会更改为新值。
<input type="text" ng-model="model_2" />
Show me <span ng-bind="model_1" />
在你的控制器中
scope.$watch('model_2', function() {
scope.model_1 = scope.model_2
});
更新:因为你真的希望有一个范围属性是另外两个的总和,你需要同时观察它们
scope.$watch('model_1', updateModel3);
scope.$watch('model_2', updateModel3);
function updateModel3(){
scope.model_3 = scope.model_1 + scope.model_2
}
带标记
<input ng-model='model_1' />
<input ng-model='model_2' />
<span ng-bind='model_3' />
从技术上讲,设置value
orng-value
不会改变模型。您需要为 分配model_1
新值。你可以做
<input type="text" ng-model="model_2" ng-change="model_1 = model_2"/>
<input type="text" ng-model="model_1"/>
使用 AngularJS,您不需要使用该value
属性。ng-model
负责为您显示价值。以我的经验,拥有ng-model
和value
在同一个标签上总是会导致冲突。其中之一将被忽略,而且似乎value
通常是被忽略的那个。