0

例如,我有这个:

    <input type="text" ng-model="model_1" value="{{model_2}}" />
    Show me {{model_1}}

问题是当 model_2 更改时,“Show me {{model_1}}”不会更改为新值。

4

3 回答 3

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' />
于 2013-09-25T19:53:28.903 回答
1

从技术上讲,设置valueorng-value不会改变模型。您需要为 分配model_1新值。你可以做

<input type="text" ng-model="model_2" ng-change="model_1 = model_2"/>
<input type="text" ng-model="model_1"/>
于 2013-09-25T19:58:15.010 回答
1

使用 AngularJS,您不需要使用该value属性。ng-model负责为您显示价值。以我的经验,拥有ng-modelvalue在同一个标​​签上总是会导致冲突。其中之一将被忽略,而且似乎value通常是被忽略的那个。

于 2013-09-25T19:58:25.783 回答