短版:
IM建立一个角度应用程序,至少有5范围 我想分享他们寻找最好的方式IM之间的数据做准备,以便 代替。$父父$ ......共享数据
长版:
我有一个包含多个指令的控制器(每条指令持有新$范围),在控制器代码IM达到我的变量使用ng-modal的视图,但是如果我希望所有变量都可以从正确的控制器到达,我需要到达$ parent。$ parent。$ parent scope
确定有更好的方法。 谢谢!
IM建立一个角度应用程序,至少有5范围 我想分享他们寻找最好的方式IM之间的数据做准备,以便 代替。$父父$ ......共享数据
我有一个包含多个指令的控制器(每条指令持有新$范围),在控制器代码IM达到我的变量使用ng-modal的视图,但是如果我希望所有变量都可以从正确的控制器到达,我需要到达$ parent。$ parent。$ parent scope
确定有更好的方法。 谢谢!
您需要将所有的数据存储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)
}
}]);
好的,但如果我的数据将被存储在控制器中,她仍然需要在范围内到达该控制器,并且生病仍然需要达到$ parent。$ parent。$ parent –
排序后,您可以更新服务中的数据或创建来自排序数据的新变量,必须与她一起工作。 –
控制器之间共享数据可以在$ rootScope这是提供给所有控制器放。您可以直接注入$ rootScope并在其上设置事物。
但是,对于控制器中的持久性,您必须使用服务或工厂。
我想在范围之间共享数据,并且从我读过的将变量放在$ rootScope中并不是解决它的最佳方式。谢谢! –
将其添加到$ rootScope中.. –
使用服务共享数据。 – Gustav
与@Gustav合作,服务最好,易于管理。 – katmanco
你的意思是在控制器之间共享数据,对吧? – Maher