Javascript 如何使用角工厂资源
我正在用angular构建我的第一个应用程序,目前我的服务定义为Javascript 如何使用角工厂资源,javascript,angularjs,Javascript,Angularjs,我正在用angular构建我的第一个应用程序,目前我的服务定义为 angular.module('mean.testruns').factory('Testruns', ['$resource', function($resource) { return $resource('testruns/:testrunId', { testrunId: '@_id' }, { update: { method: 'PUT'
angular.module('mean.testruns').factory('Testruns', ['$resource', function($resource) {
return $resource('testruns/:testrunId', {
testrunId: '@_id'
}, {
update: {
method: 'PUT'
}
});
}]);
我在rest服务器上添加了另一个url作为
'/testcases/:testcaseId/testruns'
如何将其包含在上述testruns工厂函数中
我目前的控制器是
$scope.findOfTestcase = function() {
//Need to correct this
Testruns.query({testcaseId:$stateParams.testcaseId}, function(testruns) {
$scope.testruns = testruns;
});
};
$scope.findOne = function() {
Testruns.get({
testrunId: $stateParams.testrunId
}, function(testrun) {
$scope.testrun = testrun;
});
};
对此不完全确定,但您可以尝试以下方法:
angular.module('mean.test').factory('Testruns', ['$resource', function($resource) {
return {
runs: $resource('testruns/:testrunId', ...),
cases: $resource('testcases/:testcaseId', ...)
}
}]);
然后像这样使用它:
app.controller('ctrl', ['$scope', 'Testruns',
function($scope, Testruns) {
$scope.testCases = Testruns.cases.query();
}
])
-1
Testruns
factory是应该注入控制器的内容。另外-mean.test
模块没有显示test
提供程序。我的错,我选择了错误的名称。不管怎么说,羽绒服似乎有点太极端了。我更正了代码。您将工厂的注入名称设置为模块的注入名称,然后引用了模块中不存在的提供程序,这会引发错误。我给了你反馈。我删除了-1并给了你分数。我在试图保持OP示例中的名称时,对这些名称感到困惑,对不起。别担心,你做得对:)