beta2からRC4へのangular2のバージョンを更新したので、私はRC4ルーターの動作に問題があります。 私はsystemjs構成で、次のしている:RC4でのルートナビゲーションの問題
var ngVer = '@2.0.0-rc.4';
var routerVer = '@3.0.0-beta.1';
方法はhome.component HTMLの一部であり、同じ構成要素にルータのナビゲーションを呼び出すんどのもう一度ボタン負荷に接続されています。 angular2の最近のアップグレードでは、同じコンポーネントのngOnInit
は、コンポーネントのインスタンス化中に既に呼び出されている場合は呼び出されません。
をルーティングした後、同じコンポーネントを再度インスタンス化すると、アプリケーション内のビジネスロジックがサポートされます。
app.routes.ts
import { provideRouter, RouterConfig } from '@angular/router';
import { HomeComponent } from './home.component';
const routes: RouterConfig = [
{
path: '',
redirectTo: '/home',
pathMatch: 'full'
},
{
path: 'home',
component: HomeComponent
}
];
export const appRouterProviders = [
provideRouter(routes)
];
home.component.ts:
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
@Component({
selector: 'my-home',
templateUrl: 'app/home.component.html'
})
export class HomeComponent implements OnInit {
constructor(
private router: Router) {
}
ngOnInit() {
console.log('in ngOnInit');
}
loadAgain(text:string) {
this.router.navigate(['/home']);
}
}
home.component.html:
<div class="grid grid-pad">
<div (click)="loadAgain()" class="col-1-4">
<button style="cursor:pointer; ">Load Again</button>
</div>
</div>
のEvメソッドが実行され、router navigateが呼び出されても、homeComponentへのルーティングは行われません。 私は、初期化されたコンポーネントを壊すことはできません。これは2.0.0.beta1では動作していましたが、RC4では動作しませんでした。 誰もがこのような状況に遭遇しましたか?
すでに利用可能なルータのベータ2があります。 –
空のコンポーネント(空白のHTML)にナビゲートしてから、そこから回避策としてホームに戻ってみてください。 –
@ArpitAgarwal、私はそれを試みました。それは動作しません。 –