我有一个动态创建的引导按钮组。所以我创建了一个按钮组件,它具有不同的图标和文本。
现在我已将动作分配给按钮内的范围。
样品component.js
{% for meta_field in meta_fields %}
{% set attr_field = attribute(form, meta_field.meta_value) %}
{{ form_widget(attr_field) }}
{% endfor %}
样品component.hbs
$('#report-content').find('[factid = ' + row.entity.factId + ']');
我在export default Ember.Component.extend({
tagName: 'button',
actions:{
triggerStatus:function(){
this.sendAction('triggerStatus',this.get('dataId'),this.get('type'));
}
},
didInsertElement: function(){
//is it possible to assign action here
}
}
内尝试了<span class="glyphicon glyphicon-{{icon}}" aria-hidden="true" {{action "triggerStatus"}}></span>
,但没有成功。
有人可以建议我如何将动作分配给javascript文件本身的组件吗?是否可以这样做?
答案 0 :(得分:0)
终于找到了问题的解决方案。解决方案非常简单,我们可以在组件中添加click
处理程序,然后我们可以调用sendAction
方法。请在下面找到示例代码段
export default Ember.Component.extend({
tagName: 'button',
//rewrite the following action to
/*actions:{
triggerStatus:function(){
this.sendAction('triggerStatus',this.get('dataId'),this.get('type'));
}
}*/,
//to a component click handler
click: function(){
this.sendAction('triggerStatus',this.get('dataId'),this.get('type'));
}
}
并从sample-component.hbs文件中的span
标记中删除了该操作
<span class="glyphicon glyphicon-{{icon}}" aria-hidden="true"></span>
现在,按钮组中的每个按钮都具有基于类型
的不同操作