angularjs:定制资源
我在我的应用程序中遵循文件夹结构 内部服务我添加了以下代码angularjs:定制资源,angularjs,angularjs-service,Angularjs,Angularjs Service,我在我的应用程序中遵循文件夹结构 内部服务我添加了以下代码 define(['./module'], function(services) { 'use strict'; services.factory('CreditCard', ['$http', function($http) { function CreditCardFactory() { function parseMessage(message) { if (message.response) {
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;
}]);
});
我遵循了这个问题,并在工厂中添加了上述代码
在这个问题上
app.controller('CreditCardCtrl',函数($scope,CreditCard){
$scope.creditCard=creditCard().get(3);
});
添加CreditCard时没有添加依赖项,因为我们添加了诸如$scope和$http之类的default angular服务
如果我不添加依赖项
controllers.controller('myListCtrl'、['Phone'、'Phone1'、'loginForm'、'$scope'、'$http'、'user\u resources',函数(Phone、Phone1、loginForm、$scope、$http、user\u resources、CreditCard){
然后它给出未定义的,若我将其作为依赖项添加到我的控制器中,然后尝试调用get函数,那个么不会返回响应
controllers.controller('myListCtrl', ['Phone','Phone1','loginForm','$scope','$http','CreditCard',function(Phone,Phone1,loginForm,userSrv,$scope,$http,user_resources,CreditCard){
'CreditCard'
在本例中没有声明为依赖项,因此它没有被注入,并且未定义
controllers.controller('myListCtrl', ['Phone','Phone1','loginForm','$scope','$http','user_resources',
function(Phone,Phone1,loginForm,$scope,$http,user_resources,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','user_resources',
function(Phone,Phone1,loginForm,$scope,$http,user_resources,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){
将依赖项声明为controllers.controller('myListCtrl'、['Phone'、'Phone1'、'loginForm'、'$scope'、'http'、'user_resources'、'CreditCard',函数(Phone、Phone1、loginForm、$scope、$http、user_resources、CreditCard){console.log(CreditCard);未定义且console.log(CreditCard())抛出未定义的错误不是作用域中的函数。$Scope.loadMyLeaveList