我在项目中使用ngResource和$resource而不是$http。当我切换到$resource时,我在运行程序时收到 $injector:unpr 错误。我检查以确保所有拼写正确。此外,我确保我在 HTML 中调用了它。
这是模块:
angular.module('confusionApp', ['ui.router', 'ngResource'])
这是我尝试使用的服务:
angular.module('confusionApp')
.constant("baseURL","http://localhost:3000/")
.service('menuService', ['$resource', 'baseURL', function($resource, baseURL) {
this.getDishes = function() {
return $resource(baseURL+"dishes/:id", null, {
'update':{
method:'PUT'
}
});
};
这是我调用函数的地方:
angular.module('confusionApp')
.controller('MenuController', ['$scope', 'menuService', function($scope, menuService) {
$scope.showMenu = true;
$scope.message = "Loading ...";
$scope.dishes = menuService.getDishes().query();
以下是 HTML 脚本:
<script src="../bower_components/angular/angular.min.js"></script>
<script src="../bower_components/angular-ui-router/release/angular-ui-router.min.js"></script>
<script src="../bower_components/angular-resource/angular-resource.min.js"></script>
任何帮助将不胜感激。
我发现问题实际上不在于任何代码本身。与我安装的角度资源版本相比,我使用的 angular 版本已经过时了。我通过删除 bower.json 中的依赖项来解决此问题,然后从bower_components中删除了该文件夹。然后我重新下载了带有我想要的版本规范的角度资源。
$ bower install angular-resource#1.4.8