【问题标题】:How to provide information to canDeactivate in Aurelia view-model如何在 Aurelia 视图模型中向 canDeactivate 提供信息
【发布时间】:2017-10-26 07:07:17
【问题描述】:

我在视图模型中使用canDeactivate()。有一种方法可以让用户离开 canDeactivate 不应该进行检查并返回 true 的视图(在这种情况下,当用户按下另一个视图中的后退按钮时)。看来canDeactivate 不接受任何参数(例如传递给router.navigateToRoute 的参数)。如果是这样,我可以表明在调用 navigateToRoute 时在参数 arg 中按下了后退按钮。向canDeactivate 提供这条所需信息的好方法是什么?

【问题讨论】:

  • 你找到解决这个问题的方法了吗?
  • 是的。看我的回答。

标签: aurelia


【解决方案1】:

从 aurelia-router 1.4.0 开始,向 canDeactivate 传递一个参数,其中包含完成此操作所需的信息

【讨论】:

    【解决方案2】:

    我不确定我是否理解您的问题...无论如何,您可以访问canDeactivate() 中的类属性。例如:

    canDeactivate() {
       //before calling router.navigateToRoute
       //you can set some properties to indicate the origin, the pressed button or wathever
    
       if (this.someProperty === true) {
          return true;
       }
    
       return false;
    }
    

    【讨论】:

    • 这没有回答问题——OP 询问如何告诉 canDeactivate() 它正在导航到哪里,以便告知您是否可以停用的决定。
    【解决方案3】:

    我只是导入了另一个视图模型(在本例中为导航栏),其中包含返回按钮的状态。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-08
      • 2017-06-24
      • 1970-01-01
      • 2018-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多