Angularjs ui-带有 Materialize-angular 问题的路由器

Angularjs ui-router with Materialize-angular issue

我想同时使用 ui-router 和 angular-materialize,但是当我想添加 angular materialize 模块时,它在控制台中显示了这个错误:

Error: [$injector:modulerr] ...

script.js

var routerApp = angular.module("routerApp", ["ui.router"], ['ui.materialize']);

routerApp.controller('mainCtrl', ["$scope", function ($scope) {
        $scope.select = {
            value: "Option1",
            choices: ["Option1", "I'm an option", "This is materialize", "No, this is Patrick."]
        };

routerApp.config(
   ["$stateProvider", "$urlRouterProvider",
      function ($stateProvider, $urlRouterProvider) {

         $urlRouterProvider.otherwise("/template1");

         $stateProvider
            .state("template1", {
               url: "/template1",
               templateUrl: "template1.html",
               controller: "tmp1Controller"
            })
            .state("template2", {
               url: "/template2",
               templateUrl: "template2.html",
               controller: "tmp2Controller"
            });
      }
   ]);

routerApp.controller("mainCtrl", ["$scope",
   function ($scope) {

   }
]);
routerApp.controller("tmp1Controller", ["$scope",
   function ($scope) {

   }
]);

routerApp.controller("tmp2Controller", ["$scope",
   function ($scope) {

   }
]);

请告诉我我错在哪里。这是我在 Plunker

中的代码

问题在于您在模块定​​义中使用了错误的语法。应该是

var routerApp = angular.module("routerApp", ["ui.router", "ui.materialize"]);

这意味着模块的依赖项被指定为数组元素作为模块定义的第二个参数,而不是不同的数组,即不像 ["ui.router"], ['ui.materialize'] 但像 ["ui.router", "ui.materialize"]