2013-03-15 13 views
17

Sto tentando di eseguire un ExtJS4 Ext.application all'interno del nostro modello di sito Web esistente. Abbiamo uno div #content, nel quale voglio posizionare l'applicazione per lo sviluppo. Come faccio a rendere l'applicazione in quest'area, piuttosto che a sostituire la pagina html esistente?Render Ext.application in a div

Ext.application({ 
    name: 'HelloExt', 
    launch: function() { 
     Ext.create('Ext.container.Viewport', { 
      layout: 'fit', 
     // renderTo: Ext.Element.get('#content') doesn't work 
      items: [ 
       { 
        title: 'Hello Ext', 
        html : 'Hello! Welcome to Ext JS.' 
       } 
      ] 
     }); 
    } 
}); 
+1

Non realmente sicuro perché questo è stato downvoted, si prega di commento quando farlo. – Reimius

risposta

16

È necessario utilizzare un contenitore diverso da uno Ext.container.Viewport. Con il modello Ext.container.Viewport verrà sempre visualizzata l'intera finestra del browser.

Da documentazione:

la finestra si rende al corpo del documento, e automaticamente si dimensioni alle dimensioni della finestra del browser e gestisce il ridimensionamento della finestra. Ci può essere solo una Viewport creata in una pagina.

Basta usare Ext.panel.Panel invece

Ext.application({ 
    name: 'HelloExt', 
    launch: function() { 
     Ext.create('Ext.panel.Panel', { 
      layout: 'fit', 
      renderTo: Ext.get('content') 
      items: [ 
       { 
        title: 'Hello Ext', 
        html : 'Hello! Welcome to Ext JS.' 
       } 
      ] 
     }); 
    } 
}); 
+0

Puoi mostrarmi un esempio? – user2170010

+0

Basta sostituire 'Ext.container.Viewport' con' Ext.panel.Panel' e rimuovere il commento dall'opzione di configurazione 'renderTo'. Ed è 'Ext.get ('content')' – Mchl

+0

Non è #content, questo è quello di cui avevo bisogno. Grazie! – user2170010