我有我main.component.ts
代码:
它的位置是:root/
角2路由器直接访问URL
import {Component, OnInit, OnChanges, IterableDiffers} from 'angular2/core';
import {TypeService} from './type/type.service';
import {RouteConfig, ROUTER_DIRECTIVES} from 'angular2/router';
import {Router} from 'angular2/router';
@Component({
selector: 'my-app',
providers: [],
directives: [ROUTER_DIRECTIVES],
template: `
<a [routerLink]="['Type']">Type</a>
<router-outlet></router-outlet>
`
})
@RouteConfig([
{path:'/type', name: 'Type', component: TypeService}
])
export class AppComponent{
constructor(private _router: Router){}
}
然后,我有我的type.component.ts
代码:
它的位置是:root/type
import {Component, OnInit} from 'angular2/core';
import {DirectoryComponent} from '../main/main.component';
import {RouteConfig, ROUTER_DIRECTIVES} from 'angular2/router';
import {Router} from 'angular2/router';
import {AppComponent} from '../app.component';
import {Http} from 'angular2/http';
@Component({
selector: 'type',
directives: [ROUTER_DIRECTIVES],
template: `<h1>hi</h1>`
})
export class TypeService{
constructor(
private _router: Router) {}
}
当我点击我的主应用程序中的类型链接时,我需要root/type并加载类型组件。但是,如果我按下重新加载它给我一个未找到错误。
我该怎么做才能直接通过url访问组件?
有没有像在其他角度1.x? – Gary
@Gary我正在使用'{path:'/:unknown',redirectTo:['/ Root']}',不知道是否有更好的方法... – Sasxa
http://stackoverflow.com/questions/34381438/equivalent-of-angular-1-otherwise-route-in-angular-2 https://github.com/angular/angular/issues/4055让我正式回答这个问题。我自己在这个问题上陷入困境。 – Gary