angularjs版本切换问题
发布于 10 年前 作者 xiuxu123 14222 次浏览 最后一次编辑是 8 年前

我之前使用的angularjs是1.0.7的版本,发现中间有些指令在使用的时候老是有问题,就想切换到新的版本,现在新的版本是1.2.13,但是切换过去之后发现无法使用,后来错误信息给我提示了一个连接: 连接完整的地址是: http://docs.angularjs.org/error/$injector/modulerr?p0=lbApp&p1=Error: [$injector:unpr] http:%2F%2Ferrors.angularjs.org%2F1.2.13%2F$injector%2Funpr%3Fp0%3D%24routeProvider at Error (<anonymous>) at http:%2F%2Flocalhost:3000%2Fjs%2Fangular.min.js:6:450 at http:%2F%2Flocalhost:3000%2Fjs%2Fangular.min.js:32:125 at c (http:%2F%2Flocalhost:3000%2Fjs%2Fangular.min.js:30:200) at Object.d [as invoke] (http:%2F%2Flocalhost:3000%2Fjs%2Fangular.min.js:30:417) at http:%2F%2Flocalhost:3000%2Fjs%2Fangular.min.js:29:302 at Array.forEach (native) at r (http:%2F%2Flocalhost:3000%2Fjs%2Fangular.min.js:7:280) at e (http:%2F%2Flocalhost:3000%2Fjs%2Fangular.min.js:29:115) at ac (http:%2F%2Flocalhost:3000%2Fjs%2Fangular.min.js:32:232

看了下大概明白了,意思是:

在AngularJS1.2.0和以后,ngRoute已被移动到其自身的模块。如果要升级到1.2.x版本后收到此错误,请确保你已经安装了ngRoute。

可是虽然明白了,但是还是不知道怎么处理啊?有没有人遇到过啊?该怎么处理啊?是不能使用$routeProvider了吗?还是怎样的?

7 回复

$routeProvider,还是可以用,除了要加上ngRoute,还要加上ngSanitize!

旧的 var app = angular.module(‘xx’, [‘ui.bootstrap’, ‘ngTable’]); app .config([’$routeProvider’, ‘$locationProvider’, function ($routeProvider, $locationProvider) {

新的 var app = angular.module(‘xx’, [‘ui.bootstrap’,‘ngRoute’,‘ngSanitize’,‘ngTable’]); app .config([’$routeProvider’, ‘$locationProvider’, ‘$sceProvider’, function ($routeProvider, $locationProvider, $sceProvider) {

是的,我也是刚才在弄明白的,谢谢你了!

只有一本中文的翻译书,但是里面的例子是旧的,我就是被坑了。

看了官方文档和代码做吧,书都是滞后的。

去下载完整的angular包,新版本中$routeProvider被放在了angular-route.js这个文件中,需要引入这个js才能使用。

书只能看思路。不要操作!

是啊,我现在都是看官方的api,书上面的东西太旧了!

回到顶部