Angular RC4角度中的路线导航问题2
我对RC4路由器的行为有一个问题,因为我已经将angular2版本从beta更新为RC4。 我的systemjs配置中有以下内容:Angular RC4角度中的路线导航问题2,angular,angular2-routing,Angular,Angular2 Routing,我对RC4路由器的行为有一个问题,因为我已经将angular2版本从beta更新为RC4。 我的systemjs配置中有以下内容: var ngVer = '@2.0.0-rc.4'; var routerVer = '@3.0.0-beta.1'; 一个方法再次附加到按钮加载,它是home.component html的一部分,并调用路由器导航到同一组件。 在angular2的最新升级中,如果在实例化组件时已调用同一组件,则不会调用该组件的ngOnInit 我必须在路由之后再次实例化相同的
var ngVer = '@2.0.0-rc.4';
var routerVer = '@3.0.0-beta.1';
一个方法再次附加到按钮加载,它是home.component html的一部分,并调用路由器导航到同一组件。
在angular2的最新升级中,如果在实例化组件时已调用同一组件,则不会调用该组件的ngOnInit
我必须在路由之后再次实例化相同的组件,以支持我的应用程序中的业务逻辑
应用程序路由.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']);
}
}
<div class="grid grid-pad">
<div (click)="loadAgain()" class="col-1-4">
<button style="cursor:pointer; ">Load Again</button>
</div>
</div>
home.component.html:
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']);
}
}
<div class="grid grid-pad">
<div (click)="loadAgain()" class="col-1-4">
<button style="cursor:pointer; ">Load Again</button>
</div>
</div>
再次加载
即使该方法执行并调用router navigate,也不会发生到homeComponent的路由。
我无法以任何方式销毁已初始化的组件。这曾经在2.0.0.beta1中起作用,但在RC4中不起作用。
有人遇到过这种情况吗?在当前路由器中,如果路径没有改变或者只有参数值改变,那么组件将被重用。这是以前路由器版本中的选择加入,但是“默认”行为,目前没有选择退出。有一个有待讨论的问题,但尚不确定他们是否会实施
路由器的beta.2版已经存在。请尝试导航到一个空组件(空白HTML),然后作为一种解决方法从那里返回主页。@ArpitAgarwal,我试过了。它不起作用。