我在项目中使用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>
非常感谢任何帮助。
答案 0 :(得分:0)
我发现问题实际上并不是任何代码本身。与我安装的角度资源版本相比,我使用的角度版本已经过时了。我通过删除bower.json中的依赖项来修复此问题,然后从bower_components中删除了该文件夹。然后我重新加载了角度资源,并指定了我想要的版本。
$ bower install angular-resource#1.4.8