我花了很多时间调试组件中的策略错误。该组件具有禁用/启用按钮,但我还没有看到效果。过了一会儿,我注意到,按钮在我创建的最后一个组件实例中发生了变化。声明看起来是这样的:
constructor: function(options) {
for(var i in options){
this[i] = options[i];
}
},
domNode: null,
grid: null,
data: [],
buttons: {},
在调试中,我已经看到,当我创建对象的第二个实例时:
new CustomComponent({domNode: dojo.byId('secondid')})
按钮已设置 - 它们的实例由所有实例共享!
最后,我在我的组件中创建了一个静态变量。这不是我想要的!该声明有什么问题?我应该如何为每个组件实例分别制作“按钮”实例?