您好我正在尝试使用ngResource从我的api获取一个url,并且我有一个返回资源的服务。但是,当我在控制器内部调用它时,会给出一个错误:无法读取属性'查询'未定义的。
为什么会这样?
这是我的服务:
(function() {
var app = angular.module('test');
app.service('ContactResource', ['$resource', function($resource) {
return $resource('/contacts/:firstname', {firstname: '@firstname'},
{
'update': {method: 'PUT'}
}
);
}]);
}());

这是我的控制器
(function() {
var app = angular.module('test');
app.controller('contactsCtrl', ['ContactResource', function($scope, Contacts, ContactResource) {
$scope.contacts = ContactResource.query();
}]);
}());

这是我的HTML
<table class="table table-bordered">
<thead>
<th>Firstname <input type="search" class="pull-right"></th>
</thead>
<tbody>
<tr ng-repeat="contact in contacts">
<td>
<a ng-href="/{{ contact.firstname }}">{{ contact.firstname }}</a>
</td>
</tr>
</tbody>
</table>
&#13;
答案 0 :(得分:1)
这是你的问题:
['ContactResource', function($scope, Contacts, ContactResource)
您还需要将$scope
和Contacts
注入数组中,如下所示:
['$scope', 'Contacts', 'ContactResource', function($scope, Contacts, ContactResource)
或者Angular会认为'ContactResource'
与$scope
相同。