我在Sencha Touch文档中看到过这段代码。如果autoCreate设置为false,那么infopanel视图会发生什么?不确定我理解为什么必须指定autoCreate。如果使用对象类型ref而不是简单类型,它是否可以在幕后执行此操作?
refs: {
main: '#mainTabPanel',
loginButton: '#loginWindow button[action=login]',
infoPanel: {
selector: 'infopanel',
xtype: 'infopanel',
autoCreate: true
}
}
答案 0 :(得分:1)
我刚刚在我的一个项目中替换了几行代码以使用autoCreate
。
这就是我以前做的事情:
refs: {
detailsView: 'detailsview'
},
...
var view = (!this.getDetailsView()) ? Ext.create('App.view.DetailsView') : this.getDetailsView();
nav.push(view);
我曾经通过调用getter this.getDetailsView()
检查是否创建了视图。如果它没有创建,我创建它,否则我只是使用它的引用。
现在,我正在使用autoCreate,这就是我的工作:
refs: {
detailsView: {
selector: 'detailsview',
xtype: 'detailsview',
autoCreate: true
}
},
...
var view = this.getDetailsView()
nav.push(view);
调用getter this.getDetailsView()
将使用对已创建组件的引用或创建它。
希望这有帮助