javascript - 为什么 Angular 返回引用错误 : ngResource is not defined?

标签 javascript angularjs ngroute

我已经使用 Angular 1.4.4 完成了快速客户端路由。在每个教程中,我都看到将模块分配给变量(通常:应用程序)并对其执行不同任务的方法,如下所示:

var app = angular.module('skeleton', [ngResource, ngRoute]);

app.config(function ($routeProvider, $locationProvider) {
    $locationProvider.html5Mode({
        enabled: true,
        requireBase: false
    });
    $routeProvider
        .when('/', {
                     templateUrl: '/partials/main',
                     controller: 'MainController'
                   });
});

app.controller('MainController', function ($scope) {
    $scope.test = 'Hi Angular';
});

在我现在正在做的教程中,我看到了完全不同的方法:

angular.module('skeleton', ['ngResource', 'ngRoute']);

angular.module('skeleton').config(function($routeProvider, $locationProvider){
    $locationProvider.html5Mode({
        enabled: true,
        requireBase: false
    });
    $routeProvider
        .when('/', { templateUrl: '/partials/main', controller: 'mainCtrl'});
});

angular.module('skeleton').controller('mainCtrl', function($scope){
    $scope.test = "Hello Angular";
});

我认为这只是偏好,所以我选择了“app”版本,因为我发现它更具可读性。 不幸的是,它会导致 Angular 抛出

ReferenceError: ngResource is not defined 
  1. 有人知道造成这种行为的原因吗?
  2. 您更喜欢哪种方法?

最佳答案

您需要正确注入(inject)依赖项,在引号内传递 ngResourcengRoute,否则它们将被视为变量,因此您一定会收到错误。

var app = angular.module('skeleton', ['ngResource', 'ngRoute']);

关于javascript - 为什么 Angular 返回引用错误 : ngResource is not defined?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35114264/

相关文章:

javascript - AngularJS ng-route如何在解析时发出http请求

javascript - 根据选定的省份获取城市列表存储在数据库中,在编辑方法中,在 laravel 7 中

css - 使用 Angular $sce.getTrustedCss 清理不受信任的 CSS

javascript - 如何更改注销按钮以 Angular 登录

javascript - Angular ngView 不显示页面

node.js - 如何从数据库动态添加路由到angularjs

javascript - for 循环以相反顺序迭代最后 5 个对象时出现问题

javascript - HTML 5 地理定位 watchPosition

php - 使用 php 和 ajax 提交表单

angularjs - angular js 浏览器后退按钮在路由时不起作用