无法使用多个绑定组件动态设置extjs绑定标记

时间:2015-12-03 09:37:32

标签: button data-binding extjs6

我正在尝试动态绑定到按钮上的值。

我之前有过

xtype: 'button',
Text: 'my button',
Bind: {'mystring'}

然后在我的另一个.js文件中

MyApp.model.ModelView.getView().getViewModel().set(receivedTag, receivedData);

这是正确设置值,但现在我想在我的按钮上添加第二个绑定值来绑定样式,所以我的按钮现在是

xtype: 'button',
Text: 'my button',
Bind: {myTag :'{myString}', 
         Style: '{background}'}

使用我用于动态设置绑定标记的方法不再有效并返回错误

Cannot bind myTag on Ext.button.Button - missing setmytag method

任何帮助都会受到赞赏,因为它在我决定要第二个标签之前工作正常!

1 个答案:

答案 0 :(得分:0)

请参阅https://docs.sencha.com/extjs/5.1/application_architecture/view_models_data_binding.html

你必须为myTag属性实现一个额外的setter方法,即setMyTag,这样你的按钮配置应该如下:

{
  xtype: 'button',
  myTag: undefined,
  text: 'my button',
  setMyTag: function(value) {
    this.myTag = value;    
  },
  bind: {
    myTag :'{myString}', 
    style: '{background}'
  }
}