当我调用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/

10-13 05:58