无法让 restangular 工厂工作
Cant get restangular factory to work
我确定这是我在这里遗漏的一些简单的东西,但我无法让它工作..
我想使用一个工厂,以便我可以在多个控制器中重用数据。
(function() {
'use strict';
angular
.module('www')
.factory('profileFactory', profileFactory);
profileFactory.$inject = ['Restangular'];
/* @ngInject */
function profileFactory(Restangular) {
var service = {
getUserData: Restangular.one('/user/profile/').getList(),
getFriendList: Restangular.all('api/users/getfriendsinvitations/').getList()
};
return service;
}
})();
控制器:
(function() {
'use strict';
angular
.module('www')
.controller('ProfileController', ProfileController);
ProfileController.$inject = ['profileFactory'];
/* @ngInject */
function ProfileController() {
activate();
function activate(profileFactory, $scope) {
profileFactory.getFriendList.then(function (homeFriends) {
$scope.homeFriends = homeFriends;
});
}
}
})();
而且我不断收到 "TypeError: Cannot read property 'getFriendList' of undefined"
编辑:我也试过了,https://github.com/mgonto/restangular#decoupled-restangular-service,但没有成功!
您必须在控制器的函数中注入 profileFactory 服务。
你的工厂定义不正确。为了向服务消费者提供工厂功能,您应该在功能中定义该代码的工厂,并且 return 该承诺将帮助您继续承诺链。
代码
function profileFactory(Restangular) {
var service = {
getUserData: function(){
return Restangular.one('/user/profile/').getList();
},
getFriendList: function(){
return Restangular.all('api/users/getfriendsinvitations/').getList();
}
};
return service;
}
控制器
(function() {
'use strict';
angular
.module('www')
.controller('ProfileController', ProfileController);
ProfileController.$inject = ['profileFactory', '$scope'];
/* @ngInject */
function ProfileController(profileFactory, $scope) { //<==added dependancy here
activate();
function activate() {
profileFactory.getFriendList().then(function (homeFriends) {
$scope.homeFriends = homeFriends;
});
}
}
})();
我确定这是我在这里遗漏的一些简单的东西,但我无法让它工作.. 我想使用一个工厂,以便我可以在多个控制器中重用数据。
(function() {
'use strict';
angular
.module('www')
.factory('profileFactory', profileFactory);
profileFactory.$inject = ['Restangular'];
/* @ngInject */
function profileFactory(Restangular) {
var service = {
getUserData: Restangular.one('/user/profile/').getList(),
getFriendList: Restangular.all('api/users/getfriendsinvitations/').getList()
};
return service;
}
})();
控制器:
(function() {
'use strict';
angular
.module('www')
.controller('ProfileController', ProfileController);
ProfileController.$inject = ['profileFactory'];
/* @ngInject */
function ProfileController() {
activate();
function activate(profileFactory, $scope) {
profileFactory.getFriendList.then(function (homeFriends) {
$scope.homeFriends = homeFriends;
});
}
}
})();
而且我不断收到 "TypeError: Cannot read property 'getFriendList' of undefined"
编辑:我也试过了,https://github.com/mgonto/restangular#decoupled-restangular-service,但没有成功!
您必须在控制器的函数中注入 profileFactory 服务。
你的工厂定义不正确。为了向服务消费者提供工厂功能,您应该在功能中定义该代码的工厂,并且 return 该承诺将帮助您继续承诺链。
代码
function profileFactory(Restangular) {
var service = {
getUserData: function(){
return Restangular.one('/user/profile/').getList();
},
getFriendList: function(){
return Restangular.all('api/users/getfriendsinvitations/').getList();
}
};
return service;
}
控制器
(function() {
'use strict';
angular
.module('www')
.controller('ProfileController', ProfileController);
ProfileController.$inject = ['profileFactory', '$scope'];
/* @ngInject */
function ProfileController(profileFactory, $scope) { //<==added dependancy here
activate();
function activate() {
profileFactory.getFriendList().then(function (homeFriends) {
$scope.homeFriends = homeFriends;
});
}
}
})();