我试图创建自定义属性值对象的属性值(基于函数的条件)对我的分机的对象,而不是仅指定一个值。的Ext JS 4:自定义基于条件
实施例1:
旧代码(工作)
this.buttons = [
{
text: 'Save',
新代码(不工作)
this.buttons = [
{
text: function() {
return 'Save X';
},
实施例2:
旧代码(工作)
}, {
width: 270,
labelAlign: 'right',
xtype: 'textfield',
name: 'user_id',
fieldLabel: 'User ID',
hidden: true
}]
新代码(不工作)
}, {
width: 270,
labelAlign: 'right',
xtype: 'textfield',
name: 'user_id',
fieldLabel: 'User ID',
hidden: function() { return true; }
}]
例3:
忽略整个文本框对象(例如懒惰)完全基于一个条件:
}, {
width: 270,
labelAlign: 'right',
xtype: 'textfield',
name: 'employee_number',
fieldLabel: 'Employee Number'
}]
解决方案A是矫枉过正imo。解决方案B目前不会按照其编码工作。 'decideHide'是一个永远不会执行的函数。解决方案C不使用功能。 – pllee
我必须承认,如果解决方案B希望在没有全球范围的情况下以这种方式工作,那么您完全正确 – sra
谈论解决方案C:如果可能的话,应该避免任何不需要的函数调用。这是循环内最重要的,但如果我只检查一个条件,则不需要为此调用函数。应用程序越大,这些小东西就越有助于保持性能。 – sra