2

我正在尝试遵循本教程:

https://angular.github.io/router/getting-started

为什么 AppController.$routeConfig 未定义?

angular.module('app', ['ngNewRouter', 'app.home'])
  .controller('AppController', ['$router', AppController]);

AppController.$routeConfig([
  {path: '/', component: 'home' }
]);
function AppController ($router) {}

我的html:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <base href="/">
  <title>My app</title>
</head>
<body ng-app="myApp" ng-controller="AppController as app">
<div ng-viewport></div>

<script src="node_modules/angular/angular.js"></script>
<script src="node_modules/angular-new-router/dist/router.es5.js"></script>
<script src="./components/home/home.js"></script>

<script src="app.js"></script>
</body>
</html>
4

2 回答 2

5

试试这个,对我有用:

AppController.$routeConfig = [
  { path: '/', component: 'home' }
]

我认为这可能是教程中的错误。$routeConfig 是一个属性,而不是一个函数。

于 2015-10-31T17:57:58.870 回答
1

我发现本手册适用于 angular 1.5,但作者使用 angular 1.3 http://www.sitepoint.com/introduction-futuristic-new-router-angularjs/

这是应该为您工作的代码:

angular.module('app', ['ngNewRouter', 'app.home'])
  .controller('AppController', ['$router', function($router){
  $router.config([
    { path:'/', redirectTo:'/home' },
    { path:'/home', component:'home' },
    { path:'/example', component:'example' }
  ]);

  this.name='visitor';
}]);

并在 html 中将这两行更改为:

<body ng-controller="AppController">
<div ng-viewport></div>
于 2016-01-14T17:35:19.760 回答