angular 2 路由注入路由器出口不工作
angular 2 routing inject into router-outlet not working
我正在努力理解这个路由概念,但无法理解其工作原理。
目前我有一个@routes,它加载一个带有“/”路径的组件。这应该在页面呈现后立即加载。我遇到的麻烦是.. 我的组件只有在 html 模板中存在 [routerLink] 时才会加载。
@Component({
selector: 'my-app',
template: `
<h1>Component Router</h1>
<nav>
<a [routerLink]="['/crisis-center']">Crisis Center</a>
<a [routerLink]="['/heroes']">Heroes</a>
</nav>
<router-outlet></router-outlet>`,
directives: [ROUTER_DIRECTIVES]
})
@Routes([
{path: '/', component: CoreComponent}
])
***core.component**
import {Component} from '@angular/core';
import { Routes , RouterOutletMap} from '@angular/router';
import { RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS} from '@angular/router-deprecated';
import { SideBarComponent} from './sidebar/sidebar.component';
@Component({
template: `<side-bar></side-bar>
<router-outlet></router-outlet>`,
directives: [SideBarComponent]
})
export class CoreComponent{
}
这是新路由器中的一个已知问题,将得到修复。如果没有 routerLink
,则根本不会创建路由器实例。或者,您可以将路由器注入根组件。
我正在努力理解这个路由概念,但无法理解其工作原理。
目前我有一个@routes,它加载一个带有“/”路径的组件。这应该在页面呈现后立即加载。我遇到的麻烦是.. 我的组件只有在 html 模板中存在 [routerLink] 时才会加载。
@Component({
selector: 'my-app',
template: `
<h1>Component Router</h1>
<nav>
<a [routerLink]="['/crisis-center']">Crisis Center</a>
<a [routerLink]="['/heroes']">Heroes</a>
</nav>
<router-outlet></router-outlet>`,
directives: [ROUTER_DIRECTIVES]
})
@Routes([
{path: '/', component: CoreComponent}
])
***core.component**
import {Component} from '@angular/core';
import { Routes , RouterOutletMap} from '@angular/router';
import { RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS} from '@angular/router-deprecated';
import { SideBarComponent} from './sidebar/sidebar.component';
@Component({
template: `<side-bar></side-bar>
<router-outlet></router-outlet>`,
directives: [SideBarComponent]
})
export class CoreComponent{
}
这是新路由器中的一个已知问题,将得到修复。如果没有 routerLink
,则根本不会创建路由器实例。或者,您可以将路由器注入根组件。