当应用程序从一个 URL 导航到另一个 URL 时,Aurelia 路由和渲染管道的执行顺序是什么?
最佳答案
有两个生命周期:
路由器生命周期是:
- 上一屏幕
canDeactivate
- 下一个屏幕已实例化
- 下一个屏幕
canActivate
- 上一屏幕
停用
- 下一个屏幕
激活
- 渲染下一个屏幕。
组件生命周期是:
加载时:
已创建
绑定(bind)
已附
卸载时:
独立
解除绑定(bind)
至于这一切是如何结合在一起的,只需将每个回调添加到两个路由页面并记录调用即可显示:
Previous Page canDeactivate
Next Page canActivate
Previous Page deactivate
Next Page activate
Next Page created
Next Page bind
Previous Page detached
Previous Page unbind
Next Page attached
如果我们包含您原始答案中包含的路由器 Hook (步骤),那么它看起来像这样:
Previous Page canDeactivate
Authorize step
Next Page canActivate
Pre-activate step
Previous Page deactivate
Next Page activate
Pre-render step
Next Page created
Next Page bind
Post-render step
Previous Page detached
Previous Page unbind
Next Page attached
我已将两者都包含在内,因为大多数应用程序不会添加 Hook 。
关于Aurelia 页面生命周期 - 路由/渲染管道中的执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43229724/