javascript - 如何将 `action` 添加到 EmberJs 中的组件元素?

标签 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);
        }
    }
});

最佳答案

在这里,您将发送 selectCard 闭包操作,它包装了在当前上下文中定义的 selectCard 函数。

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

我鼓励您将所需的数据作为参数发送到组件,而不是上面的方法,您可以从那里发送参数中的数据。

关注ember guides

关于javascript - 如何将 `action` 添加到 EmberJs 中的组件元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45477461/

相关文章:

javascript - 正则表达式阻止电子邮件的名称部分全部为数字

javascript - 平均应用程序登录无法在heroku上运行

javascript - Qunit 失败并出现 TypeError : $ is not a function

javascript - 在源节点上调用 stop() 是否会触发结束事件?

javascript - 如何防止内联图像后换行?

javascript - 如何在javascript中反转值

ruby-on-rails - Ember-rails 项目作为可安装的引擎?

ember.js - 如何在初始化程序中获取 Router 实例

javascript - Ember 。在您自己的 View 中使用内置 View

javascript - Ember 组件忽略高度/溢出