首页  >  文章  >  web前端  >  如何在没有服务或观察者的情况下在 AngularJS 中的状态之间共享 $scope 数据?

如何在没有服务或观察者的情况下在 AngularJS 中的状态之间共享 $scope 数据?

Linda Hamilton
Linda Hamilton原创
2024-11-14 10:31:02432浏览

How to Share $scope Data Between States in AngularJS Without Services or Watchers?

在 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn