1
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'}
    ]
});

Ext.query('。davidfun')[0]によってXtemplateにある「davidfun」であるdivクラスを取得できない理由を誰かが知っていますか。

常に「未定義」と表示されます。最初にご回答いただきありがとうございます:)

コードの更新:

問題は解決しました!

4

1 に答える 1

4

データビューの「viewready」イベントを試すことができます。

私の例を参照してくださいhttp://jsfiddle.net/2huvt/

于 2012-09-26T10:23:12.497 に答える