我想更改组件中currentUrl对象的id属性。我想要实现的是,一旦id被更改,它应该从id中获取适当的数据。我目前收到以下错误。
" 无法分配给只读属性' id'对象' [对象]' "
有人可以帮我解决这个问题吗?
addBranch(id){
this.currentUrl = this.activatedRoute.snapshot.params;
console.log(this.currentUrl.id); // Currently the id is undefined
this.currentUrl.id = id; //Cannot assign to read only property 'id' of object '[object Object]'
window.location.reload();
}
答案 0 :(得分:1)
您可以通过角度路由器执行此操作。首先,将其注入您的组件:
constructor( private router: Router )
{}
(如果您已经有一个现有的构造函数,请相应地扩展它。)
现在您可以使用this.router.navigate(['/your-desired-route', id]);
代替
this.currentUrl.id = id;
window.location.reload();
这不会导致整页重新加载,只是设置正确的URL并触发处理路由更改所需的任何内容(例如确定处理请求的正确组件),从而避免不必要的角重新初始化。 / p>