我在我的应用
中关注https://github.com/StarterSquad/startersquad.github.com/tree/master/examples/angularjs-requirejs-2文件夹结构内部服务我添加了以下代码
define(['./module'], function(services) {
'use strict';
services.factory('CreditCard', ['$http', function($http) {
function CreditCardFactory() {
function parseMessage(message) {
if (message.response) {
return message.response;
}
}
function CreditCard(value) {
angular.copy(value || {}, this);
}
CreditCard.$get = function(id) {
var value = this instanceof CreditCard ? this : new CreditCard();
$http({
method: 'GET',
url: '/creditcards/' + id
}).then(function(response) {
var data = response.data;
if (data) {
angular.copy(parseMessage(data), value);
}
});
return value;
};
CreditCard.prototype.$get = function(id) {
CreditCard.$get.call(this, id);
};
return CreditCard;
}
return CreditCardFactory;
}]);
});
我已按照此问题在工厂
中添加了上述代码Angularjs - customizing $resource
在这个问题中 app.controller('CreditCardCtrl',函数($ scope,CreditCard){ $ scope.creditCard = CreditCard()。get(3); }); 添加CreditCard时不添加依赖项,因为我们添加了诸如$ scope和$ http。
之类的defualt角度服务如果我不添加依赖 controllers.controller('myListCtrl',['Phone','Phone1','loginForm','$ scope','$ http','user_resources',function(Phone,Phone1,loginForm,$ scope,$ http,user_resources) ,信用卡){ 然后它给undefined,如果我在我的控制器中添加它作为依赖,然后尝试调用get函数然后不返回响应
controllers.controller('myListCtrl', ['Phone','Phone1','loginForm','$scope','$http','CreditCard',function(Phone,Phone1,loginForm,userSrv,$scope,$http,user_resources,CreditCard){
答案 0 :(得分:1)
'CreditCard'
未被声明为依赖项,因此它未被注入且为undefined
...
controllers.controller('myListCtrl', ['Phone','Phone1','loginForm','$scope','$http','user_resources',
function(Phone,Phone1,loginForm,$scope,$http,user_resources,CreditCard){
要解决此问题,请添加'CreditCard'
...
controllers.controller('myListCtrl', ['Phone','Phone1','loginForm','$scope','$http','user_resources','CreditCard',
function(Phone,Phone1,loginForm,$scope,$http,user_resources,CreditCard){
在第二个示例中,缺少某些依赖项,导致其他依赖项与函数参数相比处于错误的顺序...
controllers.controller('myListCtrl', ['Phone','Phone1','loginForm','$scope','$http','CreditCard',
function(Phone,Phone1,loginForm,userSrv,$scope,$http,user_resources,CreditCard){
以正确的顺序添加缺少的依赖项...
controllers.controller('myListCtrl', ['Phone','Phone1','loginForm','userSrv','$scope','$http','user_resources','CreditCard',
function(Phone,Phone1,loginForm,userSrv,$scope,$http,user_resources,CreditCard){