相关疑难解决方法(0)

当相同的url加载不同的参数时,Angular2路由器2.0.0不重新加载组件?

我在.routing.ts文件中有这个

export const routing = RouterModule.forChild([
{
    path: 'page/:id',
    component: PageComponent
}]);
Run Code Online (Sandbox Code Playgroud)

我的PageComponent文件检查id参数并相应地加载数据.在以前版本的路由器中,如果我从/ page/4转到/ page/25,页面将"重新加载"并且组件将更新.

现在,当我尝试导航到/ page/X,其中X是id时,它只会在第一次加载,然后url会更改,但组件不会再次"重新加载".

是否需要传递一些东西来强制我的组件重新加载,并调用ngOnInit事件?

html javascript angular2-routing angular

14
推荐指数
3
解决办法
2万
查看次数

如何手动触发路由解析器

在访问之前我解决一个用户帐户片段我的用户页面:

APP-routing.component.ts

{
  path: 'users/:id',
  component: UserComponent,
  resolve: {user: UsersService},
  children: [
    {path: '', pathMatch: 'full', redirectTo: 'account'},
    {path: 'account', component: UserAccountComponent},
    {path: 'sites', component: UserSitesComponent}
  ]
}
Run Code Online (Sandbox Code Playgroud)

users.service.ts

resolve(route: ActivatedRouteSnapshot, r: RouterStateSnapshot) {
  return this.getUser(route.params['id']);
}
Run Code Online (Sandbox Code Playgroud)

用户account.component.ts

ngOnInit() {
  this.route.parent.data.subscribe(data => {
    this.user = data['user'];
    // Initialize the form and its validators
    this.initForm();
  });
}
Run Code Online (Sandbox Code Playgroud)

在用户帐户组件中,我可以保存或重置表单.在这两种情况下,我都想更新组件的用户并重置表单和验证器.理想情况下,它会再次触发订阅.

知道如何手动触发旋转变压器吗?

(我曾经重新导航到与最后一个片段模拟一个随机数的相同路径,但是由于我将用户页面分解为父/子路径,因此当最后一个片段发生变化时,不再调用父级中的解析器)

resolver angular2-routing angular

11
推荐指数
2
解决办法
3644
查看次数

Angular2 canReuse和onReuse不再受支持

在Angular2 rc5中,我们曾经使用以下router-config路由一个组件

{
       path:      '',
       component: MyComponent
   },
   {
       path:      ':view',
       component: MyComponent,
       data:      this.data
   },
   {
       path:      ':view/:childview',
       component: MyComponent,
       data:      this.data
   },
   {
       path:      ':view/:childview/:subchildview',
       component: MyComponent,
       data:      this.data
   }
Run Code Online (Sandbox Code Playgroud)

现在在Angular2最终版本中,这是不可能的,因为接口CanReuse和OnReuse消失了.

现在我有问题在不同的路径之间切换.

当我在一条路上时

启动/起始页

我到了,但如果我去的话

启动/起始页/信息

该组件用于再次初始化而不是重复使用...

我该怎么做才能改变它?

谢谢

routing router final angular

5
推荐指数
0
解决办法
2825
查看次数