煎茶触摸错误:无法读取空的属性'dom'



调试一些Sencha Touch 2代码,我已经把它归结为这个。为什么不起作用?更重要的是,为什么不应该呢?很明显,view、listOne和listTwo都在范围内,但点击listOne项目,然后返回,然后再次点击listOne项会导致错误。导航视图返回时是否删除引用?

var view = Ext.create('Ext.NavigationView', {
    xtype:'myview',
    fullscreen: true
});
var listTwo = Ext.create('Ext.List', {
    store: {
        fields: ['name'],
        data: [
            {name: 'Doeth'},
            {name: 'Smith'},
            {name: 'Johnson'},
            {name: 'Stevens'}
        ]
    },
    itemTpl: '{name}'
});

var listOne = Ext.create('Ext.List', {
    store: {
        fields: ['name'],
        data: [
            {name: 'Cowper'},
            {name: 'Everett'},
            {name: 'University'},
            {name: 'Forest'}
        ]
    },
    itemTpl: '{name}',
    listeners: {
       itemtap: function (me, index, target, record, e, eOpts ){
           view.push(listTwo);
        }
    }
});
Ext.Viewport.add(view);
view.push(listOne);

查看了Sencha的源代码,我确认这是预期的行为:Ext.NavigationView,在按下返回按钮时调用其pop()方法。这反过来又调用NavigationView上的remove(),并将活动视图作为参数。remove()继承自Ext.Container,并且可以选择性地销毁对象。默认情况下,autoDestroy配置为true,这说明了发生了什么。

在导航视图中将autoDestroy设置为false以修复错误。

Sencha小提琴

导航视图

集装箱

相关内容

最新更新