如何动态添加点击处理程序到 Ember Octane 组件 - 动态“on”修饰符

问题描述 投票:0回答:1

我有一种情况,我需要制作一个组件,并且它有一些逻辑可以渲染为按钮或 DIV,具体取决于它是否有链接。

{{#let
  (if
    this.hasLink
    (component "external-library-button$special-button")
    (element "div")
  )
  as |MaybeAButton|
}}
    <MaybeAButton
      {{on "click" this.onClick}} // can this be dynamically added?
    >
      ...lots of nested code
    </MaybeAButton>
{{/let}}

我尝试动态添加它,但收到错误“on”不在范围内。

{{(if this.hasLink (modifier on "click" this.onClick))}}

动态添加点击处理程序的好方法是什么? 如果监听器不具有交互性,我不想添加监听器。

javascript ember.js hbs
1个回答
0
投票

我决定将其作为临时解决方案,但我不确定我是否真的想要它。

{{on "click" (if this. hasLink this. onClick null)}}
© www.soinside.com 2019 - 2024. All rights reserved.