1

有一个简单的例子,我想要实现的是,当文本字段改变时,两个模型都应该改变。这可能不使用 $watch 吗?

4

2 回答 2

5

您只需要通过引用传递对象而不是传递字符串值..

看到这个解决方案

http://codepen.io/anon/pen/Dczmp

<div ng-controller="first">
    <input type="text" ng-model="testModel.test_var" />
    <p>{{testModel.test_var}}</p>
  </div>
  <div ng-controller="second">
    <p>{{testModel.test_var}}</p>
</div>

在您的控制器中:

$scope.testModel = Data

代替

$scope.testModel = Data.test_var
于 2013-04-26T08:56:43.363 回答
0

或者,您可以绑定根对象,如例所示。

所以你的控制器这样做:控制器“第一”: $scope.testModel = Data 控制器“第二”: $scope.testModel = Data

现在,您将其用作<input ng-model="testModel.test_var"/>并且在两个视图中您都使用它:

 <p>{{testModel.test_var}}</p>
于 2013-04-26T09:10:16.047 回答