当我调用extjs面板组件的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 fiddle
最佳答案
显然,这不是双向绑定。您可以将其作为错误或缺少的功能报告给Sencha,但是,通过扩展Ext.panel.Panel并实现将发布到viewmodel的applyTitle
方法来修复它非常容易。如果您决定采用这种方法,请不要忘记调用父applyTitle。
关于javascript - 面板的setTitle()函数不会发布到面板的viewModel,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27919077/