2013-03-15 15 views
17

Ich versuche, ein ExtJS4 Ext.application innerhalb unserer bestehenden Website Vorlage zu betreiben. Wir haben eine div #content, in die ich die Anwendung für die Entwicklung platzieren möchte. Wie rende ich die Anwendung in diesen Bereich, anstatt die vorhandene HTML-Seite zu ersetzen?Render Ext.application in einem 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

Nicht wirklich sicher, warum dieser Downvoted wurde, bitte Kommentar, wenn das zu tun. – Reimius

Antwort

16

Sie benötigen einen anderen Behälter zu verwenden, als ein Ext.container.Viewport. Per definition Ext.container.Viewport wird immer das gesamte Browserfenster angezeigt.

Aus Dokumentation:

Das Ansichtsfenster macht sich auf den Dokumentenkörper, und sich automatisch Größen auf die Größe des Browser-Ansichtsfenster und verwaltet Änderungen der Fenstergröße. Es kann nur ein Viewport auf einer Seite erstellt werden.

Verwenden Sie einfach Ext.panel.Panel statt

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

Können Sie mir ein Beispiel zeigen? – user2170010

+0

Ersetzen Sie einfach 'Ext.container.Viewport' durch' Ext.panel.Panel' und kommentieren Sie die 'renderTo'-Konfigurationsoption. Und es ist 'Ext.get ('Inhalt')' – Mchl

+0

Es ist nicht #content, das ist was ich brauchte. Vielen Dank! – user2170010