虽然在angularjs中有多个路由状态,但每个状态都由单独的控制器操作(在我的情况下(,现在我正在使用这个运算符的视图模型。现在我需要知道我在 $scope 变量中是否有与其他状态的属性匹配的属性,其他状态的范围会发生什么?
当实例化控制器创建一个全新的范围对象时,原型与父对象$scope对象相关联。因此,如果您有 2 个独立的同级控制器,它们各自的$scope
对象是完全独立的,没有连接。
使用具有controllerAs
语法的控制器时的this
会将属性附加到控制器As指定键下$scope
(如果您在"ng-controller="MyCtrl as vm"
中指定了vm
,则控制器中的this.someProp
将指向$scope.vm.someProp
(。
因此,从技术上讲,无论您使用this
还是$scope
您的特定问题都没有区别。
之间共享状态,最好的方法是让服务公开它,您将从注入该服务的两个控制器那里获得状态。