【发布时间】:2013-08-31 04:05:09
【问题描述】:
我在从 AngularJS 1.0.7 升级到 1.2.0rc1 时收到此错误。
【问题讨论】:
标签: javascript angularjs routes
我在从 AngularJS 1.0.7 升级到 1.2.0rc1 时收到此错误。
【问题讨论】:
标签: javascript angularjs routes
ngRoute 模块不再是核心 angular.js 文件的一部分。如果您继续使用 $routeProvider,那么您现在需要在 HTML 中包含 angular-route.js:
<script src="angular.js">
<script src="angular-route.js">
您还必须添加 ngRoute 作为应用程序的依赖项:
var app = angular.module('MyApp', ['ngRoute', ...]);
如果您打算使用 angular-ui-router 或类似的,那么只需从您的模块 .config() 中删除 $routeProvider 依赖项并将其替换为选择的相关提供程序(例如 $stateProvider)。然后,您将使用 ui.router 依赖项:
var app = angular.module('MyApp', ['ui.router', ...]);
【讨论】:
ui-router 项目可能是一个更灵活的选择,如果你从头开始 (github.com/angular-ui/ui-router)
angular-ui-router v0.0.1 升级到 v0.2.0 时,我才意识到 ui.state 语法有多旧b>,这意味着它现在使用 ui.router 名称。对于造成的任何混乱,我深表歉意。
angular-route.js的CDN地址在哪里?
angular-route 提供 CDN 地址以及其他选项。至于ui-router,目前我知道没有CDN。
ui-router 似乎不在自己的 CDN 上,尽管它在 cdnjs 上:cdnjs.com/libraries/angular-ui-router
添加到斯科蒂的答案:
选项 1: 要么将其包含在您的 JS 文件中:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0rc1/angular-route.min.js"></script>
选项 2: 或者只是使用 URL 将“angular-route.min.js”下载到您的本地。
然后(无论您选择什么选项)将此“ngRoute”添加为依赖项。
解释:
var app = angular.module('myapp', ['ngRoute']);
干杯!!!
【讨论】:
在我的情况下,这是因为文件被缩小了错误的范围。使用数组!
app.controller('StoreController', ['$http', function($http) {
...
}]);
咖啡语法:
app.controller 'StoreController', Array '$http', ($http) ->
...
【讨论】: