一个状态的$scope在angularjs中丢失在另一个状态中



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

当实例化控制器创建一个全新的范围对象时,原型与父对象$scope对象相关联。因此,如果您有 2 个独立的同级控制器,它们各自的$scope对象是完全独立的,没有连接。

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

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

如果要在控制器

之间共享状态,最好的方法是让服务公开它,您将从注入该服务的两个控制器那里获得状态。

最新更新