Routeprovider Angular JS更新

问题描述 投票:0回答:1

我从移动网站上获得了这段代码,该代码以前运行正常。

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>

现在我的错误是:

未捕获的错误:[$injector:modulerr]由于以下原因,无法实例化模块应用程序:错误:[$injector:unpr]未知提供程序:$ routeProvider

我不明白为什么$ routeProvider现在仍然不知道为什么我已经添加了角度路由脚本。

我尝试了一些我在这里找到的修复程序,但无法使其正常工作。关于我错过的任何想法吗?

谢谢。

angularjs ngroute
1个回答
1
投票

ngRoute现在与angular.js分开,因此要使用它,必须将其作为依赖项注入,如下所示:

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

至于以下错误

未捕获的错误:[$ 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

© www.soinside.com 2019 - 2024. All rights reserved.