共享数据beetwin范围

时间:2015-12-14 08:32:12

标签: javascript angularjs angularjs-scope

简短版

即时构建一个至少有5个范围的角度应用 我想在他们之间共享数据,我正在寻找最好的方法 而不是去$ parent。$ parent ......

长版

我有一个控制器,它拥有多个指令(每个指令包含新的$ scope),来自控制器代码我在视图中使用ng-modal到达我的变量,但是如果我希望我的所有变量都可以从右边到达我需要达到$ parent。$ parent。$ parent scope

我确定有更好的方法。 谢谢!

2 个答案:

答案 0 :(得分:0)

您需要将所有数据存储在services中 样品:

angular.
module('myServiceModule', []).
 factory('notify', [function () {
   var data = {};
   return : {
     getData : function(){ return data;}
   },
   setData : function(item){
    data = item
   }
 }]).
controller('myCtrl', ['$scope', 'notify', function($scope, notify) {
   $scope.someData = notify.getData();
   $scope.doSomething = function(someObj){
     notify.setData(someObj)
   }
 }]);

Angular services

答案 1 :(得分:0)

控制器之间的共享数据可以放在$ rootScope上,可供所有控制器使用。您可以直接注入$ rootScope并在其上设置内容。

但是,对于跨控制器的持久性,您必须使用服务或工厂。