UI-роутер с материально-угловой эмиссией

Я хочу использовать ui-router и angular-materialize вместе, но когда я хочу добавить модуль angular materialize, он показывает мне эту ошибку в консоли:

Ошибка: [$ инжектор: 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

1 ответ

Решение

Проблема связана с неправильным синтаксисом, который вы используете в определении модуля. Так должно быть

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

Это означает, что зависимости для модулей указываются как элементы массива в качестве второго аргумента для определения модуля, а не как разные массивы, т.е. не как ["ui.router"], ['ui.materialize'] но, как ["ui.router", "ui.materialize"]

Другие вопросы по тегам