我有一个看似简单的问题想要解决,但在我的一生中,我无法让它发挥作用。
我有一个函数 setStatus()
,我想在路由到另一个页面之前调用它。
test1.js
export class Test1{
setStatus() {
this.statusId = 1
}
}
test1.hmtl
<template>
<a route-href="route:test2" click.delegate="setStatus()"> <!-- search-href="model.bind: searchModel"> -->
<h3 class="tsd-dashboard-block__title">${'overdue' & t}</h3>
<span class="tsd-dashboard-block__count">${count}</span>
</a>
</template>
问题是它只是直接路由到 test2 并且不会调用 test1 中的 setStatus()
函数。
我也尝试过使用click.trigger
,但什么也没有。
谁能指出我在这里做错了什么,或者我是否需要使用一些特殊的 aurelia 路由事件?谢谢
P.S 我也遵循了这个 link 中的例子
最佳答案
如果您需要在按下 anchor 之前调用一个函数,您可以在 mousedown 上执行此操作,以便它比在处理程序之前调用的单击处理程序更早触发。像 mousedown.trigger="myMethod()"
这样的东西应该可以工作。请务必从 myMethod() 返回 true,否则它将无法按预期导航。
关于javascript - Aurelia,在route-href之前调用click函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45572298/