我想将大块数据从控制器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值吗?
最佳答案 你不能在工厂/服务函数中注入$scope.服务/工厂是单件对象,负责数据共享.你应该只有那里的公共代码.
在你的代码中,你必须为getter和amp;创建一个函数. setter,它将返回img_data,它是holdCustomer工厂的私有数据.
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;
}
}
})