Extjs6 通过函数从配置应用 属性

Extjs6 apply property from config via function

我以前是用 extjs4 写的:

Ext.define('Superstore', {
    extends: 'Ext.data.Store'

    config : {
        customer : null,
    },

    applyCustomer : function (value) {
        this.customer = value;
    },

    model : 'Supermodel'

});

我在 extjs6 中尝试了同样的方法,但没有成功:´

Ext.define('Supermodel', {
    extend: 'Ext.data.Model',

    requires: ['Ext.data.reader.Json', 'Ext.data.proxy.Rest'],

    config: {
        customer: null
    },

    fields: [
        {name: 'id', type: 'string'},
        ...
    ],

    proxy: {
        type: 'rest',
        url: '/customers/{customer}/users',
        reader: {
            type: 'json'
        }

    },

    applyCustomer: function (value) {
        this.customer = value;
        this.proxy.url.replace('{customer}', value);
    }

});

他们解除魔法了吗? 或者有没有其他更好的方法来构建我的 url 就像在我的代码中一样? 我已经看到了一些解决方案,但是 none 适合我的应用程序。 我通过登录后后端发送的会话获取 customerId。我会通过 StoreManager 获取商店,获取客户记录并将其应用于代理。

提前致谢。

如果您不需要操纵值,请改用 update 函数:

updateCustomer: function(newValue){
    this.proxy.url.replace('{customer}', newValue);
}

(并删除 applyCustomer 函数)