大家好我是角度js的新手我希望通过使用资源获取数据来获取数据我必须构建资源工厂但是当我在控制器中调用此工厂时出现此错误错误:Users.myUser未定义任何人都可以告诉我我做错了什么或为什么我在这里得到这个错误是我的代码。
var Myapp = angular.module('starter.controllers', ['ngResource'])
.config(['$resourceProvider', function ($resourceProvider) {
$resourceProvider.defaults.stripTrailingSlashes = false;
}]);
Myapp.factory('Users', function ($resource) {
return{
myUser:
$resource('some url', {}, {
query: {
method: 'POST',
params: {},
isArray: false
}
})
};
});
Myapp.controller('DashCtrl', function ($scope,Users) {
Users.myUser.query().$promise.then(function (data) {
console.log(JSON.stringify(data, null, 4));
}, function (error) {
console.log('Error is: ' + JSON.stringify(error, null, 4));
});
});
答案 0 :(得分:1)
您应该从$resource
工厂函数返回myUser
个对象。
Myapp.factory('Users', function($resource) {
return {
myUser: function() {
return $resource('some url', {}, {
query: {
method: 'POST',
params: {},
isArray: false
}
});
}
}
});
控制器
Myapp.controller('DashCtrl', function ($scope,Users) {
//Call myUser method like below
Users.myUser().query().$promise.then(function (data) {
console.log(JSON.stringify(data, null, 4));
}, function (error) {
console.log('Error is: ' + JSON.stringify(error, null, 4));
});
});
答案 1 :(得分:0)
按以下更新您的工厂
Myapp.factory('Users', function ($resource) {
function myUser() {
return $resource('some url', {}, {
query: {
method: 'POST',
params: {},
isArray: false
}
})
}
});