ngRoute прерывается каждый раз, когда я добавляю средство выбора момента в качестве зависимости

Мой ngRoute ломается каждый раз, когда я добавляю другую зависимость. Я хочу добавить "приложение для выбора момента" в свое приложение, чтобы выбрать дату и время, но как только я добавляю зависимость в модуль, я получаю следующую ошибку:

Uncaught Ошибка: [$ инжектор:modulerr]

На странице ошибок в разделе "Описание" отображается "Использование ngRoute".

Это мой код:

var app = angular.module('weather', ['ngRoute', 'moment-picker']);

Если я уберу 'моментный сборщик', ngRoute будет работать без ошибок.

Я попытался переключить свои ссылки на мои сценарии, но безуспешно.

2 ответа

Похоже, моей проблемой был порядок добавления сценариев, а также то, что в какой-то момент я удалил сценарий "moment-withh-locales.js".

Мой заказ сейчас:

<script src="scripts/angular.min.js" type="text/javascript"></script>
<script src="scripts/jquery-1.11.3.min.js" type="text/javascript"></script>
<script src="scripts/bootstrap.min.js" type="text/javascript"></script>
<script src="scripts/jquery.easing.min.js" type="text/javascript"></script>
<script src="scripts/angular-route.js"></script>

<script src="scripts/moment-with-locales.js" type="text/javascript"></script>
<script src="scripts/moment.min.js" type="text/javascript"></script>
<script src="scripts/angular-moment-picker.min.js" type="text/javascript"></script>
<link href="css/angular-moment-picker.min.css" rel="stylesheet" type="text/css"/>

<script src="scripts/app.js" type="text/javascript"></script>

В app.js мой код выглядит следующим образом:

var app = angular.module('weather', ['ngRoute', 'moment-picker']);

app.config(function($routeProvider) 
{
    $routeProvider
    .when("/", {
      templateUrl : "home.php"
    })
    .when("/page1", {
      templateUrl : "page1.php"
    });
});

app.config(['momentPickerProvider', function (momentPickerProvider) {momentPickerProvider.options(
{
    /* Picker properties */
    locale:        'en',
    format:        'L LTS',
    minView:       'decade',
    maxView:       'minute',
    startView:     'year',
    autoclose:     true,
    today:         false,
    keyboard:      false,

    /* Extra: Views properties */
    leftArrow:     '&larr;',
    rightArrow:    '&rarr;',
    yearsFormat:   'YYYY',
    monthsFormat:  'MMM',
    daysFormat:    'D',
    hoursFormat:   'HH:[00]',
    minutesFormat: moment.localeData().longDateFormat('LT').replace(/[aA]/, ''),
    secondsFormat: 'ss',
    minutesStep:   5,
    secondsStep:   1
    });
}]);

Спасибо всем за помощь.

Если вы используете Angular Moment Picker, убедитесь, что вы добавили соответствующие теги в свой index.html файл (в зависимости от версии, которую вы используете):

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment-with-locales.js"></script>
<script src="//cdn.rawgit.com/indrimuska/angular-moment-picker/master/dist/angular-moment-picker.min.js"></script>
<link href="//cdn.rawgit.com/indrimuska/angular-moment-picker/master/dist/angular-moment-picker.min.css" rel="stylesheet">

<link> теги обычно идут внутри вашего <head> тег в начале, пока <script> теги обычно имеют место внутри вашего <body> тег, в конце этого.

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