Routeprovider Angular JS Обновление - PullRequest
       32

Routeprovider Angular JS Обновление

0 голосов
/ 15 января 2020

У меня есть этот фрагмент кода с мобильного веб-сайта, который работал отлично.

document.addEventListener('deviceready', function() {
    // launch
}, false);

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

app.config(function($routeProvider){
    $routeProvider
        when('/home', {templateUrl: 'views/home.html'})
        .when('/about', {templateUrl: 'views/about.html'})
        .otherwhise({redirectTo: '/home'})
});

Я обновился до более новой версии angular, и я получил ошибку. В других потоках я обнаружил, что ngRoute теперь отделен от angular. js, поэтому я добавил его.

<script type="text/javascript" src="js/angular.js"></script>
<script type="text/javascript" src="js/angular-route.js"></script>

Теперь моя ошибка:

Uncaught Ошибка: [$ injector: modulerr] Не удалось создать экземпляр приложения модуля из-за: Ошибка: [$ injector: unpr] Неизвестный поставщик: $ routeProvider

Я не понимаю, почему $ routeProvider до сих пор не знает, когда я добавил скрипт маршрута angular.

Я попытался найти пару исправлений, обнаруженных здесь, но не могу заставить их работать. Есть идеи, что я пропустил?

Спасибо.

1 Ответ

1 голос
/ 16 января 2020

ngRoute теперь отделен от angular. js, поэтому для его использования необходимо внедрить его как зависимость, например:

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

, как для следующей ошибки

Uncaught Ошибка: [$ injector: modulerr] Не удалось создать экземпляр приложения модуля из-за: Ошибка: [$ injector: unpr] Неизвестный поставщик: $ routeProvider

Обычно эта ошибка появляется, когда angular -route. js по какой-то причине не загружен.

Указанный проект имеет несовпадающие версии для angular и его модуля, например:

<script src="https://code.angularjs.org/1.4.0-beta.6/angular.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular-route.js"></script>

, поэтому сделайте эти версии совпадают. Вероятно, они должны быть .../1.6.4/angular.js и .../1.6.4/angular-route.js

...