如何以编程方式在 ExtJS viewmodel 中创建公式?

How to programmatically create formulas in ExtJS viewmodel?

在 ExtJS 6.2 中,如何以编程方式创建公式?

在我的视图模型中,我添加了一个构造函数,我在其中添加了试图遵循此处所说内容的公式 https://forum.sencha.com/forum/showthread.php?299121-Add-Formulas-to-ViewModel-dynamically,但我的公式似乎覆盖了视图模型中已经存在的公式。我添加的公式似乎也不起作用。

   constructor: function(config) {
      this.callParent(arguments);

      const newFormula = {
            test: {
               bind : { bindTo : '{mystore}' },
               get  : mystore => mystore.findExact('type', 'something') !== -1
            }
         };

      this.setFormulas( {...this.getFormulas(), ...newFormula} );
   }

使用这种方式,新公式与已经定义的公式一起工作,但是调用 viewmodel getFormulas() 不会列出以前存在的公式,只会列出构造函数中 config 中添加的公式。

constructor: function(config) {
      config.formulas = config.formulas || {};

      config.formulas.test = {
            bind : { bindTo : '{mystore}' },
            get  : mystore => mystore.findExact('type', 'something') !== -1
      };

      this.callParent(arguments);
}

获取已经存在的公式并合并到配置中使其工作:

constructor: function(config) {
      config.formulas = {...config.formulas, ...this.config.formulas};

      config.formulas.test = {
            bind : { bindTo : '{mystore}' },
            get  : mystore => mystore.findExact('type', 'something') !== -1
      };

      this.callParent(arguments);
}