2015-08-03 3 views
0

В 1.13 приложении Тлеющего, у меня есть этот шаблон:Действие не передается от компонента к приложению

{{#each searched_skills as |searched_skill|}} 
    {{#skill-card searched_skill=searched_skill delete=delete}}{{/skill-card}} 
{{/each}} 

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

export default Ember.Controller.extend 
    actions: 
    delete: -> 
     console.log "test" 

Этот шаблон для компонента:

<div class="col-md-4 well skill"> 
    <a {{action 'delete'}}>Delete</a> 
    <h1>{{searched_skill.skill.name}}</h1> 
    <p>{{searched_skill.description}}</p> 
</div> 

И этот код:

export default Ember.Component.extend 
    actions: 
    delete: -> 
     @sendAction 'delete', @get('searched_skill') 

Я хочу показать «тест» в консоли, когда я нажимаю кнопку «удалить». Действие «удалить» компонента запускается, но действие контроллера приложения.

Где я ошибаюсь?

ответ

1

delete должно быть в кавычках, и я бы избегал этого слова, это ключевое слово на языке.

{{#skill-card searched_skill=searched_skill delete=`delete`}}{{/skill-card}} 
+0

Что вы подразумеваете под термином «ключевое слово на языке»? Какое слово вы бы выбрали? – Dougui

+0

Это оператор, и поэтому он не рекомендуется использовать в качестве имени переменной https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete. Назовите его, что бы вы хотели :) 'remove',' murder', 'obliterate' все выглядят так, как будто они будут работать. – Kingpin2k

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