gpt4 book ai didi

javascript - Ember 使用计算属性作为 Action 参数

转载 作者:行者123 更新时间:2023-11-30 12:04:41 25 4
gpt4 key购买 nike

我正在构建一个可在 iOS 和桌面设备上使用的应用。我需要将 on="eventType"参数添加到某些操作中,并在桌面上使用 mouseUp,在移动设备上使用 touchEnd。我似乎无法像 on="eventOne eventTwo"一样添加两者,所以我尝试将其作为计算属性来执行,但它似乎不起作用:

<a {{action 'selectTab' 'location' on=clickEvent}} class="{{if locationSelected 'active'}}"><span class="mi-person"></span></a>
<a {{action 'selectTab' 'portfolios' on=clickEvent}} class="{{if portfolioSelected 'active'}}"><span class="mi-movie"></span></a>

export default Ember.Component.extend({
session: Ember.inject.service(),
clickEvent: Ember.computed('session.isCordova', function() {
return this.get('session.isCordova') ? 'touchEnd' : 'mouseUp';
}),
actions: {
selectTab:function(tab){
console.log("TAB SELCTED");
alert("TAB SELCTED");
this.set('selectedTab', tab);
}
}
}

我的另一个选择是用 if 语句复制它,但我宁愿有一个优雅的解决方案。

最佳答案

您可以将两种事件类型都添加到您的元素中,它看起来像这样:

 <a {{action 'selectTab' 'location' on='touchEnd'}} {{action 'selectTab' 'location' on='mouseUp'}} class="{{if locationSelected 'active'}}">
<span class="mi-person"></span>
</a>
<a {{action 'selectTab' 'portfolios' on='touchEnd'}} {{action 'selectTab' 'portfolios' on='mouseUp'}} class="{{if portfolioSelected 'active'}}">
<span class="mi-movie"></span></a>


来源:Multiple actions in a single element

关于javascript - Ember 使用计算属性作为 Action 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35577119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com