如何在Aurelia视图模型中为canDeactivate提供信息

时间:2016-07-21 15:55:08

标签: aurelia

我在视图模型中使用canDeactivate()。有一种方法可以让用户远离canDeactivate不应该进行检查的视图,只返回true(在这种情况下,当用户按下另一个视图中的Back按钮时)。似乎canDeactivate不接受任何参数(例如传递给router.navigateToRoute的参数)。如果是这样,我可以在调用navigateToRoute时指示在params arg中按下了Back按钮。给canDeactivate这些所需信息的好方法是什么?

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我不确定我是否理解了您的问题......无论如何,您可以访问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;
}

答案 2 :(得分:0)

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