Aurelia页面生命周期 - 路由/渲染管道中的执行顺序

时间:2017-04-05 11:21:27

标签: aurelia aurelia-router aurelia-templating-router

当应用程序从一个URL导航到另一个URL时,Aurelia路由和呈现管道中的执行顺序是什么?

2 个答案:

答案 0 :(得分:5)

有两个生命周期:

路由器生命周期是:

  1. 上一屏canDeactivate
  2. 实例化下一屏幕
  3. 下一屏canActivate
  4. 上一屏deactivate
  5. 下一屏activate
  6. 呈现下一个屏幕。
  7. 组件生命周期是:

    加载时:

    1. created
    2. bind
    3. attached
    4. 卸载时:

      1. detached
      2. unbind
      3. 至于如何将所有这些组合在一起,只需将每个回调添加到两个路由页面并记录调用即可显示:

        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
        

        如果我们包含原始答案中包含的路由器挂钩(步骤),那么它看起来像这样:

        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
        

        我已将两者都包括在内,因为大多数应用程序都没有添加钩子。

答案 1 :(得分:0)

将Aurelia应用程序导航从包含Route1的{​​{1}}导航到已加载View1的{​​{1}}:

  
      
  1. View1 - canDeactivate
  2.   
  3. Route2 - autorizeStep
  4.   
  5. View2 - canActivate
  6.   
  7. Route2 - preActivate
  8.   
  9. 查看1 - 停用
  10.   
  11. View2- activate
  12.   
  13. Route2 - preRenderStep
  14.   
  15. Route2 - postRenderStep
  16.   
  17. View1 - 已独立
  18.   
  19. View2-附件
  20.