在 AngularJS 中的状态之间共享 $scope 数据
问题:
$scope 如何AngularJS 中的子状态可以访问来自父控制器的数据,而无需使用服务或父控制器观察者?
答案:
理解作用域继承
在 AngularJS 中,作用域属性沿着状态链继承,如果状态视图是嵌套的。因此,定义状态视图如下:
.state("main", { controller:'mainController', url:"/main", templateUrl: "main_init.html" }) .state("main.1", { controller:'mainController', parent: 'main', url:"/1", templateUrl: 'form_1.html' }) .state("main.2", { controller:'mainController', parent: 'main', url: "/2", templateUrl: 'form_2.html' })
初始化父控制器中的数据
将父控制器中的数据实例化为具有属性的对象,例如:
controller('mainController', function ($scope) { $scope.Model = $scope.Model || {Name : "xxx"}; })
在中使用点表示法ng-model
通过在 ng-model 中使用点表示法确保原型继承,例如:
<input type="text" ng-model="Model.Name">
示例:
参见这个 Plunker 中的一个工作示例: https://plnkr.co/edit/jmEb62e96kHlXPjLGBb9?p=preview
以上是如何在没有服务或观察者的情况下在 AngularJS 中的状态之间共享 $scope 数据?的详细内容。更多信息请关注PHP中文网其他相关文章!