在angular2中重新导航()

Posted

技术标签:

【中文标题】在angular2中重新导航()【英文标题】:Renavigate() in angular2 【发布时间】:2016-08-31 00:05:25 【问题描述】:

我的组件中有一些输入字段。我只需通过 http.post 从服务器获取这些字段的值。而且我有 onCancelClick() 方法,我正在寻找在不刷新页面的情况下重新加载数据的方法。我试图使用 router.renavigate() 但它没有调用 ngOnInit() 方法。我不明白它实际上在做什么。(我已经导入了 CanReuse,但它都没有帮助)。从我的 onCancelClick() 方法中,如果我直接调用 this.ngOnInit() 它可以工作,但我认为这不是一个好习惯。有人知道吗?谢谢。

【问题讨论】:

请添加一些代码来演示您要完成的工作。理想情况下是允许复制的 Plunker(模板plnkr.co/edit/m4HHsZ?p=preview) 谢谢pastebin.com/xqMSnfid 我只需将数据移动到服务并绑定到该数据,然后更新服务中的数据,无需任何导航。 (或者订阅服务以在本地更新更改的数据angular.io/docs/ts/latest/cookbook/component-communication.html 【参考方案1】:

你可以使用 ngDoCheck 来监听指令的变化。

https://angular.io/docs/ts/latest/api/core/index/DoCheck-class.html

@Component(selector: 'my-cmp', template: `...`)
class MyComponent implements DoCheck 
  ngDoCheck() 
    // ...
  

【讨论】:

以上是关于在angular2中重新导航()的主要内容,如果未能解决你的问题,请参考以下文章

Angular2 相对路径在警卫中导航

如何在Angular2中使用导航进行路由时显示加载屏幕?

使用箭头键的 Angular2 导航

angular2中的导航错误

在 Angular2 应用程序中使用 angular2-websocket 关闭 websocket 连接时,如何重新连接它?

导航到不同页面时仍会触发 Angular2 NgForm valueChanges