Extjs 在XTemplate内呈现自定义组件 Ext.define('GB.view.DigestList'{ 扩展:“Ext.panel.panel”, 别名:'widget.digestlist', 项目:[{ xtype:'dataview', store:'GB.store.Digests', tpl:新Ext.XTemplate( '', '', “{name}”, '', '', '' ), 听众:{ viewready:function(){ var home_d=Ext.create('GB.view.myowndgest'); home_d.render(Ext.query('.davidfun')[0]); //home_d.render(Ext.getBody());

Extjs 在XTemplate内呈现自定义组件 Ext.define('GB.view.DigestList'{ 扩展:“Ext.panel.panel”, 别名:'widget.digestlist', 项目:[{ xtype:'dataview', store:'GB.store.Digests', tpl:新Ext.XTemplate( '', '', “{name}”, '', '', '' ), 听众:{ viewready:function(){ var home_d=Ext.create('GB.view.myowndgest'); home_d.render(Ext.query('.davidfun')[0]); //home_d.render(Ext.getBody());,extjs,extjs4,extjs4.1,extjs-mvc,Extjs,Extjs4,Extjs4.1,Extjs Mvc,您可以尝试dataview的“viewready”事件 请参见我的示例,您可以尝试dataview的“viewready”事件 请参见我的示例第一个注意:XTemplates是默认编译的,您不需要设置此项。好的,我将对此进行修改。我想知道它是否没有编译,因此设置了已编译:trueFirst注意:XTemplates是默认编译的,您不需要设置此项。好的,我将为此进行修改。我想知道它是否因此未编译再次设置compiled:truehi,但如果我将数据加载更改为proxy,它将显示undefined并

您可以尝试dataview的“viewready”事件

请参见我的示例,您可以尝试dataview的“viewready”事件


请参见我的示例第一个注意:XTemplates是默认编译的,您不需要设置此项。好的,我将对此进行修改。我想知道它是否没有编译,因此设置了已编译:trueFirst注意:XTemplates是默认编译的,您不需要设置此项。好的,我将为此进行修改。我想知道它是否因此未编译再次设置compiled:truehi,但如果我将数据加载更改为proxy,它将显示undefined并尝试dataview的“刷新”事件,但在您的情况下,它将被调用两次。在处理程序中,您只能在加载存储时执行Ext.query。顺便说一句,在您的fiddle中,浏览器将不允许您再次对dropbox.hi执行跨域ajax操作,但是如果我将数据加载更改为代理,它将显示undefined并尝试dataview的“刷新”事件,但在您的情况下,它将被调用两次。在处理程序中,您只能在加载存储时执行Ext.query。顺便说一句,在您的fiddle中,浏览器不允许您对dropbox执行跨域ajax操作。
Ext.define('GB.view.DigestList',{
    extend: 'Ext.panel.Panel',
    alias:'widget.digestlist',

            items:[ {
                xtype:'dataview',
                store: 'GB.store.Digests',
                tpl: new Ext.XTemplate(
                          '<tpl for=".">',
                            '<div class="container">',
                              '{name}',
                              '<div class="davidfun"></div>',
                            '</div>',
                          '</tpl>'
                ),      
                listeners: {
                    viewready: function(){
                        var home_d = Ext.create('GB.view.MyOwnDigest');
                        home_d.render(Ext.query('.davidfun')[0]);
                        // home_d.render(Ext.getBody()); <- it'll work fine with this line
                    },
                }
              }],

    bind: function(record, store) {
        this.getComponent(0).bindStore(record);
    }

});


Ext.define('GB.store.Digests', {
    extend:'Ext.data.Store',
    model: 'GB.model.Digest',
    data:[
        {'name':'name111'},
        {'name':'name222'}
    ]
});