AngularJS在[]问题中注入元素

时间:2016-06-14 06:46:31

标签: angularjs

为什么我们需要将注入元素' $ stateProvider' $#urlRouterProvider'在[]中,我发现一些教程视频,他们只是删除它们并且工作正常,所以我也删除了相同的,但在部署到Web服务器时遇到以下错误的问题。

我的问题是为什么我们需要将注入元素放在[]中,谢谢。

  

未捕捉错误:[$ injector:modulerr] http://errors.angularjs.org/1.5.0/ $ injector / modulerr?p0 = app& p1 =错误%3A%... es%2Fangular%3Fv%3DZGvZMulw2S5nigpn4yQz50dopAtRo-XYhjiW0UOpfnM1%3A25%3A449({{3 $ injector / modulerr?p0 = app& p1 =错误%3A %% E2%80%A6es%2Fangular%3Fv%3DZGvZMulw2S5nigpn4yQz50dopAtRo-XYhjiW0UOpfnM1%3A25%3A449))

var app = angular.module("app", ['ui.router', 'ngTouch', 'ngMaterial', 'ngMessages', 'ngAnimate'])

app.config(['$stateProvider', '$urlRouterProvider', function ($stateProvider,  $urlRouterProvider) {
   $urlRouterProvider.otherwise('/category');

  $stateProvider
        .state('category', {
            url: '/category',
            templateUrl: '../../app/CategoryViewer/Category.html',
       controller: 'CategoryController'
    });
}]);

2 个答案:

答案 0 :(得分:1)

在缩小角度后无法找到注入的模块。因此,要么定义它们,要么使用ng-annotate

我只是喜欢使用Inline数组方法来避免应用程序破坏和简单的代码..

angular.module('myApp', []);

MyController.$inject = ['$scope', '$route', 'Item', 'items', 'utils', 'shade'];

angular.module('myApp')
    .controller('MyController', MyController);

function MyController($scope,$route,Item,items,utils,shade) {
    // do something
}

答案 1 :(得分:0)

据我所知, 使用[]语法进行注入会授予在缩小过程之后,angular将能够找到我们的控制器,服务等。