如何在EmberJs中添加`action`到组件元素?

时间:2017-08-03 07:22:00

标签: javascript ember.js

我用li元素包装我的组件。没关系。但我也试图将动作添加到wrapped元素..但是得到错误。将action添加到包装元素的正确方法是什么?

任何人帮助我?

我的组件:

<ul>
        {{#each cardList as |card index |}}
                {{
                    cs2i-cardcomponent 
                    card=card
                    index=index
                    enableNext='enableNext'
                    tagName="li"
                    {{action "selectCard card index"  }}//not works. trying to pass card and index to selected card in actions object in componet.js.
                }}
        {{/each}}
    </ul>

我的组件js:

import Ember from 'ember';

export default Ember.Component.extend({
    tagName:"",
    firstBalanceType : '',
    firstBalanceAmount : '',
    lastBalanceType : '',
    lastBalanceAmount : '',
    isSelected : false,


    actions : {
        selectCard : function(card,index) {
            this.set('selectedIndex', index );
            this.toggleProperty('isSelected');
            this.sendAction('enableNext', card);
        }
    }
});

1 个答案:

答案 0 :(得分:1)

在这里,您发送selectCard关闭操作,该操作包含在当前上下文中定义的selectCard函数。

{{cs2i-cardcomponent card=card index=index enableNext='enableNext' tagName="li" selectCard=(action "selectCard" card index)}}

除了上述内容,我将鼓励您将所需数据作为参数发送到组件,然后您可以将其发送到参数中的数据。

关注ember guides