[英]Ember invoking closure action
在Ember JS中,說我有一個如下定義的組件(HBS / JS)
parent.hbs
{{longclaw-sword attack=(action swing)}}
app/components/longclaw-sword.js
export default Ember.Component.extend({
click() {
this.attack();
}
});
使用this.attack()
V / s this.attr.attack()
調用關閉動作之間有什么區別嗎?
在什么情況下使用“ attr”? 可以將其用於引用常規屬性還是僅用於操作?
attr是一種非官方棄用的afaik。
在即將發布的Ember,Octane版本中,屬性將特別意味着僅HTML屬性,而args將成為余燼。
在將來/現在(如果您想使用辛烷值藍圖( https://github.com/ember-cli/ember-octane-blueprint ),以上內容將是這樣的:
@action swing() {
// whatever this does :)
}
<LongclawSword @attack={{this.swing}} />
// in longclaw-sword:
import Component from '@glimmer/component';
export default LongclawSword extends Component {
@action click() {
this.args.attack();
}
}
// or, if you don't need to wrap attack, you can do this inside longclow's template:
<button {{on 'click' this.args.attack}}>click</button>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.