ember组件中的属性不会传播到其父控制器

时间:2015-10-13 22:08:34

标签: ember.js

我有一个看起来像这样的组件priority-selector ......

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检查器来观察这种情况。

1 个答案:

答案 0 :(得分:0)

Your code is working.

因此,请确保在右侧控制器中为您使用priority_gender组件的模板指定priority-selector