Router.navigate
メソッドを使用してルーティングしようとしています。私は手紙に指示に従いましたが、私はAPI経由でルートするとき、ルートページを再読み込みします。私RootComponent
でルートからルートへのリダイレクト
は私が
this._router.navigate([ 'ABC'、 'のPage1を'])を使用しようとしています。アプリケーション/ ABC/XYZ
に私をリダイレクトする必要があります。しかし、私は直接私のブラウザからapplication/abc/xyz
を訪問した場合、それがシームレスに
app.component.ts
import {Component} from "angular2/core";
import {RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS} from "angular2/router";
import {RootComponent} from "./components/root.component";
import {Page1Component} from "./components/page1.component";
@Component({
selector: 'app',
template: '<router-outlet></router-outlet>',
directives: [ROUTER_DIRECTIVES],
providers: [
ROUTER_PROVIDERS
]
})
@RouteConfig([
{
path: '',
name: 'Root',
component: RootComponent,
useAsDefault: true
},
{
path: '/abc/...',
name: 'ABC',
component: ABCComponent
}
])
export class AppComponent {
}
ABCComponentを働いています
@Component({
selector: 'abc',
template: '<router-outlet></router-outlet>',
directives: [ROUTER_DIRECTIVES]
})
@RouteConfig([
{
path: '/xyz',
name: 'Page1',
component: Page1Component
}
])
export class ABCComponent{
constructor(private _router:Router){
}
}
Page1Component
import {Component} from "angular2/core";
import {Router} from "angular2/router";
@Component({
selector: 'page1',
template: '<h1>Page1</h1>'
})
export class Page1Component{
constructor(private _router:Router){
}
}
私が間違って何をしているのですか?
EDIT
はそれを説明するためにも、簡単に言え
である私は何をしようとしています Application (2 routes at root level)
| |
Default ("/") - Root Component /abc/ ABC Component
|
/abc/xyz Page1 Component
は、ルート・コンポーネントからのPage1に移動します。リバースはS.alemのplunkrからenineering後
ソリューション
を、ここで解決
http://plnkr.co/edit/F1p6aQNJ7lREHCiVnKEP?p=preview
を可能にしました。 APIを経由しない場合はどうしますか?それは期待どおりに働いていますか? –