Angular 如何通过路由器刷新组件映射
是否可以使用相同的routerLink刷新组件映射?让我们这样说:Angular 如何通过路由器刷新组件映射,angular,angular2-routing,Angular,Angular2 Routing,是否可以使用相同的routerLink刷新组件映射?让我们这样说: 我有一些路线: const appRoutes: Routes = [ //other Routes... {path: 'some/:formCode', component: SomeComponent}, //other Routes... ] 用户输入链接/some/dwa21e。应用程序基于dwa21ecode动态加载表单。将显示一个动态表单(代码唯一) 用户可以填写表格。完成表单时,其他操
const appRoutes: Routes = [
//other Routes...
{path: 'some/:formCode', component: SomeComponent},
//other Routes...
]
/some/dwa21e
。应用程序基于dwa21e
code动态加载表单。将显示一个动态表单(代码唯一)- 验证不正确:显示错误消息。SomeComponent保持与提交前相同的状态
- 验证正确:SomeComponent返回到2中的状态。
/some/dwa21e
。如果我尝试重定向到当前URL,则不会发生任何事情是否可以将组件刷新到初始状态?也许,还有其他方法吗
我想强调的是,仅仅清除表格是不够的,因为3的动作。点您应该使用组件创建一条空路由。 此组件将重定向到
ngOnInit()
上的/some/dwa21e
;
只需将dwa21e
参数值发送到该空组件,即可重定向到具有值的/some
据我所知,除非刷新整个页面,否则无法刷新组件。如果要刷新组件,可以选择订阅路由参数。这将使您能够再次触发
ngOnInit()
中的代码
import { ActivatedRoute } from '@angular/router';
...
currentId: string;
constructor(private _route: ActivatedRoute) {
this.currentId = _route.snapshot.params['id'];
}
ngOnInit() {
this._route.params.subscribe(params => {
this.currentId = params['id'];
this.functionToLoad();
}
}
请编辑问题,将其限制为特定问题,并提供足够详细的信息,以确定适当的答案。避免同时问多个不同的问题。请参阅“如何寻求帮助”页面以澄清此问题。我不知道问题出了什么问题?我问了一个特定的问题:如何将路由器的组件映射刷新到初始状态。我举了一些例子(分步)来解释这个问题。请详细说明问题所在,以便我能正确地更正问题。我认为,这是一个聪明的解决方法。我会尽量让你知道它是否有效。是的,我忘了写,刷新整个页面不是一个选项。