2015-12-15 3 views
0

Я пытаюсь использовать ранее существовавший компонент для создания выпадающего списка Bootstrap в Ember. API-интерфейс компонента можно найти здесь Ember Bootstrap Dropdown API. Как заставить Ember узнать, что пользователь выбирает? Я могу это сделать, если я не использую этот компонент, но я надеялся использовать его. Вот что у меня есть:Ember Bootstrap Dropdown

{{#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}} 

Спасибо.

ответ

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

Найти более подробную информацию здесь ->https://guides.emberjs.com/v1.10.0/components/sending-actions-from-components-to-your-application/