一个国家的范围在angularjs的另一个州失去了吗?

时间:2017-06-18 08:50:31

标签: angularjs ng-view

虽然在angularjs中有多个路由状态,但每个状态都由不同的控制器操作(在我的例子中),现在我正在使用这个运算符的视图模型。现在我需要知道我是否在$ scope变量中有一个属性与其他状态的属性匹配,其他状态的范围会发生什么?

1 个答案:

答案 0 :(得分:1)

当实例化的控制器创建一个与父$ scope对象原型链接的全新范围​​对象时。因此,如果你有两个独立的兄弟控制器,它们各自的$scope对象是完全独立的,没有连接。

使用带有this语法的控制器时,controllerAs会将属性附加到控制器指定键下的$scope(如果您在vm中指定了"ng-controller="MyCtrl as vm",那么控制器中的this.someProp将指向$scope.vm.someProp)。

因此从技术上讲,对于您的特定问题,使用this$scope是没有区别的。

如果你想在控制器之间拥有一个共享状态,最好的方法是拥有一个可以公开它的服务,你将从两个控制器中获取注入该服务的状态。