在Sencha Touch中自动创建 - 为什么需要它?

时间:2012-12-14 13:14:16

标签: sencha-touch sencha-touch-2

我在Sencha Touch文档中看到过这段代码。如果autoCreate设置为false,那么infopanel视图会发生什么?不确定我理解为什么必须指定autoCreate。如果使用对象类型ref而不是简单类型,它是否可以在幕后执行此操作?

refs: {
    main: '#mainTabPanel',
    loginButton: '#loginWindow button[action=login]',

    infoPanel: {
        selector: 'infopanel',
        xtype: 'infopanel',
        autoCreate: true
    }
}

1 个答案:

答案 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()将使用对已创建组件的引用或创建它。

希望这有帮助