Angularjs 2路由不起作用,即使我手动输入url,仍然没有工作。
配置和版本是: -
var ngVer ='@ 2.0.0-rc.5'; //锁定角度包版本;做 不要让它浮动到当前!
var routerVer ='@ 3.0.0-rc.1'; //锁定路由器版本 var formsVer ='@ 0.3.0'; //锁定表单版本 var routerDeprecatedVer ='@ 2.0.0-rc.2';
操作系统: - Ubuntu 14,谷歌浏览器。
app.routing.ts
import { Routes, RouterModule } from '@angular/router';
import { HeroesComponent } from './heroes.component';
const appRoutes: Routes = [
{
path: 'heroes',
component: HeroesComponent,
pathMatch: 'full'
}
];
export const routing = RouterModule.forRoot(appRoutes);
app.component.ts
import { Component } from '@angular/core';
import { AppModule } from './app.module';
import { HeroesComponent } from './heroes.component';
import { routing } from './app.routing';
@Component({
selector : "my-app",
template : `
<a routerLink="/heroes1" >Heroes</a>
<router-outlet></router-outlet>
`,
directives: [HeroesComponent]
})
export class AppComponent {
title = 'Tour of Heroes';
}
它没有初始化,在url中输入任何内容,它将进入主页“/”
答案 0 :(得分:1)
如果路线正在处理,则没有理由导入英雄组件。因此,删除导入并删除app.component中的指令。此外,重要的是返回并引用在官方Angular.io站点使用rc.5构建应用程序的新方法。
我建议您重新进行快速入门,了解新的module.ts文件,然后直接跳转到路由教程here以解决当前问题。