2014-08-30 2 views
0

Я новичок в ember, и я не уверен, как создать слушатель для динамического элемента.Как создать слушатель для динамически создаваемых элементов с ember-cli

Я хочу сделать что-то похожее на это.

$(document).on('click', '.order_here', function(e) { 
    e.preventDefault(); 
    //do some actions 
}); 
+0

вы хотите слушать событие щелчка на кнопке или изменения свойств на клику событие Ember.Object – eguneys

+0

на кнопке – user3813559

ответ

1

В шаблоне:

<div {{action "orderClicked" }}> Order </div> 

В контроллере:

Ember.Controller.extend({ 
    actions: { 
    orderClicked: function() { 
     // handle here. 
    } 
} 

проверить Также из emberjs guides.

0

Ember CLI и CoffeeScript

В шаблоне:

<button class="order_here" {{action "OrderHere"}} >Order Here</button> 

В контроллере:

`import Ember from 'ember'` 

YourController = Ember.Controller.Extend 
    actions: 
     OrderHere: -> 
      # perform some action 

`export default YourController` 

выше рекомендуемый способ борьбы с действиями (ember actions) в Эмбер. Однако, если вы имеете дело с элементами, которые вставлены и удалены из DOM (например, {{#if ...}} {{/ if}}) И вам нужно настроить таргетинг на них с помощью jQuery (есть несколько вариантов использования случаев), то следующие работы:

`import Ember from 'ember'` 

YourView = Ember.View.extend 
    didInsertElement: -> 
     @$().on 'click', '.order_here', -> 
      console.log $('.order_here') 
      # do some stuff 

`export default YourView` 

См here

Смежные вопросы