【问题标题】:Multiple triggers in AureliaAurelia 中的多个触发器
【发布时间】:2021-02-23 03:20:06
【问题描述】:

我想在 aurelia 中触发两种不同的方法,实现这一点的最佳方法是什么?

<a click.trigger="toggleSize(size.parts)" click.delegate="refreshPanel()" click.trigger="viewUtility.closeStickyDropdown($event)">

【问题讨论】:

  • 为什么不触发一个函数来调用 js 组件中的所有三个函数?
  • 是的,我就是这样做的,想知道是否有其他方法可以实现这一目标。但现在回想起来,我认为这是最好的解决方案。

标签: aurelia


【解决方案1】:

我可能会做以下事情

HTML

<a click.delegate="yourFunction($event, size.parts)">

Javascript

yourFunction(event, parts) {
    this.toggleSize(size.parts);
    this.refreshPanel();
    this.viewUtility.closeStickyDropdown(event); //Depends on what viewUtility is.
}

【讨论】:

    【解决方案2】:

    如果您确实希望有多个触发器,以声明形式:

    <a click.capture="calledFirst()"
      click.trigger="calledSecond()"
      click.delegate="calledThird()"></a>
    

    但我不知道你是否真的需要这样搞砸你的观点。

    还有另一种方法:

    <a click.delegate="(first() || 1) && (second() || 1) && (third())"></a>
    

    注意|| 1,它有助于确保始终评估&amp;&amp; 的右侧

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-18
      • 1970-01-01
      • 1970-01-01
      • 2021-09-24
      • 2019-03-12
      • 2023-03-19
      • 1970-01-01
      • 2019-12-20
      相关资源
      最近更新 更多