我想将大量数据从控制器A传递给控制器B.
所以我做了这个工厂
angular.module('MyApp')
.factory('holdCustomCover', function($scope, img_data) {
return {
save: $scope.img_data = img_data;
get: $scope.img_data;
}
})
我正在做对吗?所以稍后在控制器A我该怎么办?喜欢
holdCustomCover.save(myImgDataHere)
?
然后在控制器B中我holdCustomCover.get()
我可以获得img值吗?
答案 0 :(得分:2)
您无法在$scope
/ factory
功能中注入service
。服务/工厂是单件对象,负责数据共享。你应该只有那里的公共代码。
在你的代码中,你必须为getter和amp;创建一个函数。 setter,它将返回img_data
,它是holdCustomer
factory的私有数据。
angular.module('MyApp')
.factory('holdCustomCover', function() {
var img_data; //private data
return {
//setter
save: function (data){
img_data = data;
},
//getter
get: function(){
return img_data;
}
}
})