Angularjs 我能';t从控制器呼叫服务
我正在尝试从我的控制器呼叫服务Angularjs 我能';t从控制器呼叫服务,angularjs,Angularjs,我正在尝试从我的控制器呼叫服务 leadService.loadPage.query({pageNumber: pageNumber}, success, error); 服务定义 它显示错误类型错误:未定义不是函数。它可能无法触发query语句。 我将RequireJS与AngularJS一起使用。这里有两个问题。第一个被@MannyD发现了。必须像这样修复函数定义(即在引用函数的return语句之前声明函数): 第二个问题是我发现的:类似于leadService.loadPage.quer
leadService.loadPage.query({pageNumber: pageNumber}, success, error);
服务定义
它显示错误类型错误:未定义不是函数。它可能无法触发query
语句。
我将RequireJS与AngularJS一起使用。这里有两个问题。第一个被@MannyD发现了。必须像这样修复函数定义(即在引用函数的return语句之前声明函数):
第二个问题是我发现的:类似于leadService.loadPage.query的调用({pageNumber:pageNumber},成功,错误)
将触发错误,因为loadPage
是一个函数而不是$reource
。您必须在定义中添加参数或在调用中添加父项。这意味着:
define([], function() {
return ['$resource', function ($resource) {
function loadPage() {
return $resource('http://localhost/api/loadPage/:pageNumber', null, {
query: {
method: 'GET',
params: {
pageNumber: '1'
},
isArray: true
}
});
}
return {
loadPage: loadPage()
};
}]
});
//...
leadService.loadPage.query({pageNumber: pageNumber}, success, error);
或
define([], function() {
return ['$resource', function ($resource) {
function loadPage() {
return $resource('http://localhost/api/loadPage/:pageNumber', null, {
query: {
method: 'GET',
params: {
pageNumber: '1'
},
isArray: true
}
});
}
return {
loadPage: loadPage
};
}]
});
//...
leadService.loadPage().query({pageNumber: pageNumber}, success, error);
可能是因为您试图在返回后定义loadPage
?另外:loadPage是一个方法而不是对象。您将得到一个函数没有方法查询
。是的,但调用应该是leadService.loadPage().query({pageNumber:pageNumber},成功,错误)
而不是leadService.loadPage.query({pageNumber:pageNumber},成功,错误)
@LuisMasuelli yeah在我发表评论后注意到了这一点。干得好@Luis,我被误导了,因为我对$http
使用了相同的概念。因此,感谢您提供有用的解决方案!
define([], function() {
return ['$resource', function ($resource) {
function loadPage() {
return $resource('http://localhost/api/loadPage/:pageNumber', null, {
query: {
method: 'GET',
params: {
pageNumber: '1'
},
isArray: true
}
});
}
return {
loadPage: loadPage()
};
}]
});
//...
leadService.loadPage.query({pageNumber: pageNumber}, success, error);
define([], function() {
return ['$resource', function ($resource) {
function loadPage() {
return $resource('http://localhost/api/loadPage/:pageNumber', null, {
query: {
method: 'GET',
params: {
pageNumber: '1'
},
isArray: true
}
});
}
return {
loadPage: loadPage
};
}]
});
//...
leadService.loadPage().query({pageNumber: pageNumber}, success, error);