我的桌子有些行。每行都有编辑选项。当用户单击“编辑”时,用户导航到“编辑”页面。
我要实现的目标:当用户单击编辑选项时,我希望该行数据的ID和版本在我的“编辑”组件中可用。
问题在这里,我不想在URL中显示版本。显示ID对我来说很好。
URL应为-'/ edit /:id'
我开始了解角度的数据属性,该属性可以是静态的也可以是解析的。 我无法在此处使用解析器,因为在解析器中,我需要在“编辑”组件和“表”组件之间注入共享服务。而且这种方法对我来说并不干净。
最后,我能够按状态实现并通过
访问版本window.location.history
在我的“编辑”组件中,并在“表”组件中更新以下代码
navigateToEdit(data: MyData): void {
this.router.navigateByUrl('edit/data.id', { state: { version: data.version } });
}
但是仍然想知道是否有更好的方法。
navigateToEdit(data: MyData): void {
this.router.navigateByUrl('edit/data.id');
console.log(data.version);
// version is available here, is it possible to
//add this version in data property of Route from this function itself?
}
Table组件中提供了上述功能,我试图找到在现有代码中进行较少更改的最佳方法来实现此功能。