javascript - Aurelia,在route-href之前调用click函数

标签 javascript aurelia

我有一个看似简单的问题想要解决,但在我的一生中,我无法让它发挥作用。 我有一个函数 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/

相关文章:

javascript - Aurelia 绑定(bind)在样式复选框上

html - Aurelia:表格 + CSS

javascript - jQuery:处理跨域jsonp错误请求错误

javascript - Material -UI : Pass props to useStyles when using Array. map ()

javascript - 确保应用程序是原创且未经修改的

javascript - .on 或 .live 函数均未被识别

javascript - 统计点击按钮创建 "Top Event"区域的次数

Aurelia Repeat.for 访问项目索引

javascript - 在 Aurelia.js 上离开页面之前如何要求用户确认

javascript - 带有 typescript 接口(interface)的 Aurelia DI