Javascript 面板';s setTitle()函数不发布到面板';视图模型
当我调用extjs面板组件的Javascript 面板';s setTitle()函数不发布到面板';视图模型,javascript,extjs,Javascript,Extjs,当我调用extjs面板组件的setTitle函数时,标题会立即更新,但是viewModel绑定到它不会更改 代码如下: Ext.application({ name: 'Fiddle', launch: function() { var textfield = Ext.create('Ext.form.field.Text', { itemId: 'textfieldItem', fieldLabel: 'fj
setTitle
函数时,标题会立即更新,但是viewModel绑定到它不会更改
代码如下:
Ext.application({
name: 'Fiddle',
launch: function() {
var textfield = Ext.create('Ext.form.field.Text', {
itemId: 'textfieldItem',
fieldLabel: 'fjdks',
bind: '{customer.name}'
});
var panel = Ext.create('Ext.form.Panel', {
viewModel: {},
bind: {
title: '{customer.name}'
},
renderTo: Ext.getBody(),
items: [textfield]
});
panel.setTitle('123');
Ext.Msg.alert('Fiddle', panel.getViewModel().get('customer.name'), function() {
textfield.setValue('rrrrr');
Ext.Msg.alert('Fiddle', panel.getViewModel().get('customer.name'));
});
}
});
请参见它显然不是双向绑定。您可以将其作为错误或缺少的功能报告给Sencha,但是,通过扩展Ext.panel.panel并实现将发布到viewmodel的
applytle
方法来修复它非常容易。如果您决定使用这种方法,请不要忘记调用父applytle。这不是一个bug,默认情况下属性不是双向绑定的。标题为2路是没有意义的,因为它不是用户可设置的。到楼层1:你的意思是覆盖设置标题功能吗?有进一步的解决方案和细节吗?