У меня есть компонент priority-selector
который выглядит следующим образом ...Свойство в компоненте Ember не распространяющиеся на свой родительский контроллер
export default Ember.Component.extend({
priority: 'low',
didInsertElement: function() {
this.$('[data-toggle="tooltip"]').tooltip();
},
actions: {
click: function(priority) {
this.set('priority', priority);
this.$('.btn-primary').removeClass('btn-primary');
this.$('.btn-for-' + priority).addClass('btn-primary');
}
}
});
код шаблона ...
<div class="pull-right btn-group" role="group">
<div type="button" class="btn btn-default btn-for-low" {{action 'click' 'low'}}>LOW</div>
<div type="button" class="btn btn-default btn-for-medium" {{action 'click' 'medium'}}>MEDIUM</div>
<div type="button" class="btn btn-default btn-for-high" {{action 'click' 'high'}}>HIGH</div>
</div>
Я использую этот компонент в шаблоне, подобный этому ...
<div class='col-sm-3'>
{{priority-selector priority=priority_gender}}
</div>
И я указал его в соответствии Мюллер ...
export default Ember.Controller.extend({
...
priority_gender: 'low'
...
})
Но собственность в контроллере никогда не меняется, когда я взаимодействовать с компонентом, я могу заметить, что это так, глядя в Ember инспекторе.
Работает ли обработчик кликов (проверьте, установив там точку останова)? Не можете ли вы изменить значение свойства priority_gender на значение, не равное значению по умолчанию для компонента? Что вы видите тогда? – Microfed
Я добавил точку останова, и она достигла этого кода, так что обработчик кликов работает. И когда я изменяю значение по умолчанию в компоненте, оно все еще использует один набор в контроллере. – saralk
И какой аргумент получает обработчик кликов в вашем тесте? – Microfed