在angular new router中,用户可以为组件指定别名:
MyController.$routeConfig = [
{ path: '/', component: 'user', as: 'myUser' }
];
我们可以激活它:
<a ng-link="myUser">link to user component</a>
<a ng-link="user">link to user component</a>
有没有办法通过查看控制器中的别名来知道用户点击了哪个链接?谢谢
这里是最新的例子,您需要使用从angular2项目构建的angular_1_router.js,而不是安装angular新路由器的包(直到它更新为止)在新版本中,他们使用angular 1.5并修复了它,这样你就可以使用components()和子路由等。
http://plnkr.co/edit/N3YP3dKMuljpZ6mWsVBT?p=preview
app.js
angular.module('app', ['ngComponentRouter', 'dialog', 'heroes', 'crisis-center'])
.config(function($locationProvider) {
$locationProvider.html5Mode(true);
})
.run(function($router) {
$router.config([
{ path: '/...', name: 'App', component: 'app', useAsDefault: true }
]);
$router.navigate(['App']);
})
.component('app', {
template:
'<nav>n' +
' <a ng-link="['CrisisCenter']">Crisis Center</a>n' +
' <a ng-link="['Heroes']">Heroes</a>n' +
'</nav>n' +
'<ng-outlet></ng-outlet>n',
$routeConfig: [
{path: '/crisis-center/...', name: 'CrisisCenter', component: 'crisisCenter', useAsDefault: true},
{path: '/heroes/...', name: 'Heroes', component: 'heroes'},
{path: '/disaster', name: 'Asteroid', redirectTo: ['CrisisCenter', 'CrisisDetail', {id:3}]}
]
});