ngOnInit()
{
let f = this._routingService.onNavigatePreviousToCurrent("john", "pam") //or doors or jim
.subscribe((res) =>
{
//do what you want here !!!
}, (error) =>
{
});
//don't forget to unsubscribe `f`
}
this._routingService.onNavigatePreviousToCurrent("/", "pam") ;
// "/" will always be present , so basically this ^ detects back from anywhere to Doors page
2 回答
经过一番搜索,我决定使用这个解决方案
在我需要运行ngOnInit的组件中,即使导航来自后退按钮或我添加了这个功能
为什么你认为
ngOnInit
应该跑回来?它没有解决方案是使用路由器事件:
例如:从
"/beatles/john/songs/strawberryfields"
到"/doors/jim/girlfriend/pam"
检测back
的解决方案是:
将此方法添加到共享服务中:
在Doors页面中调用它:
请注意,您也可以在Doors中使用
/beatles/john/songs/strawberryfields
(beatles
,john
,songs
,strawberryfields
,atles
)---->中的任何标记 . (子串)基本上,这些方法会检测您来自何处以及
back
之后的目的地 .顺便说一下,你可能想说:“好吧,我不知道我在哪里,我只想要一个用户点击”返回“的情况 .
答案: