我正在尝试使用预先存在的组件在Ember中创建Bootstrap下拉列表。可以在此处找到组件API Ember Bootstrap Dropdown API。如何让Ember知道用户选择了什么?如果我不使用该组件,我可以这样做但我希望使用它。这就是我所拥有的:
{{#bs-dropdown}}
{{#bs-button}}
<strong>Select a File</strong>
{{/bs-button}}
{{#bs-dropdown-button}}
<span class="caret"></span>
{{/bs-dropdown-button}}
{{#bs-dropdown-menu}}
{{#each list as |item|}}
<li>
<a value={{item.title}}>{{item.title}}</a>
</li>
{{/each}}
{{/bs-dropdown-menu}}
{{/bs-dropdown}}
感谢。
答案 0 :(得分:1)
您可以触发操作以更新点击的项目。
<li {{action 'clickItem' item}}>
您将数据(项目)向下传递给组件,并将操作传递到父组件(向下数据,向上操作)。
App.MyComponent = Ember.Component.extend({
click: function(item) {
this.sendAction('clickItem', item);
}
});
在控制器或路线中,您可以处理此操作。
App.IndexRoute = Ember.Route.extend(
actions: {
clickItem: function(item) {
item.set('active', true);
}
}
});
在此处查找更多信息 - &gt; https://guides.emberjs.com/v1.10.0/components/sending-actions-from-components-to-your-application/