3
<div ng-controller="aCtrl">
 <input type="text" ng-model="person" />
 <button type="button" ng-click="Search()">XXX</button>
</div>

<div ng-controller="bCtrl">
 <input type="text" ng-model="car" />
</div>

在 onclick 事件 Search() 中,如何访问位于另一个控制器内的 $scope.car?

4

1 回答 1

4

这是一个简单的解决方案:

<div ng-init='model={ person: "", car: "" }'>
  <div ng-controller="aCtrl">
   <input type="text" ng-model="model.person" />
   <button type="button" ng-click="Search()">XXX</button>
  </div>

  <div ng-controller="bCtrl">
   <input type="text" ng-model="model.car" />
  </div>
</div>

只需在父范围上更上一层楼$scope并将您的数据设置为。请注意,我将绑定到您的输入的值更新为引用新model对象的属性。通过这样做,您引用了该父作用域上的一个对象,而不是scalars,因此对该对象的引用在原型上由子作用域继承。如果这没有多大意义,那么 tl;dr 版本是:

一般来说,你要确保你的ng-model指令包含一个点。

您还可以定义一个角度服务来在两个控制器之间共享数据,但这对于您的需要可能有点过分了。

于 2013-09-04T18:48:05.520 回答