从控制器访问混合属性

Access mixin properties from controller

我有一个混入:

export default Ember.Mixin.create({
    queryParams: ['abc', 'def', 'ghi']
});

和控制器:

import SampleMixin from 'app/mixins/sample-mixin';
export Ember.ObjectController.extend(SampleMixin, {
   queryParams: function () {
        var mixinQParams = this.getMixinParams();
        mixinQParams.append('xyz');
        return mixinQParams;
   }.property()
});

我的问题是我们如何获取 mixin 的 queryParam,以便我们可以对其进行编辑或添加更多值,即使用什么代替上面的 getMixinParams() 来获取 mixin 属性。

您正在寻找串联属性:

export default Ember.Mixin.create({
    queryParams: ['abc', 'def', 'ghi'],
    concatenatedProperties: ['queryParams']
});

然后

import SampleMixin from 'app/mixins/sample-mixin';
export Ember.ObjectController.extend(SampleMixin, {
   queryParams: ['xyz']
});

现在

<< this.get('queryParams')
>> ['abc', 'def', 'ghi', 'xyz']