Ansichtsfenster Anwenden Bedingte Symbolleiste mit Sencha Touch
Ich werde MVC-route mit Sencha. Ich habe einen Viewport panel initialisiert, ähnlich wie das twitter-Beispiel:
/**
* @author Jeff Blake
*/
Ext.regApplication('App', {
defaultTarget: 'viewport',
defaultUrl : 'Viewport/index',
name : 'App',
icon : "mobile/public/resources/images/icon.png",
phoneStartupScreen : "mobile/public/resources/images/phone_startup.png",
//useHistory : false,
//useLoadMask : true,
launch: function() {
Ext.Viewport.init();
Ext.Viewport.onOrientationChange();
this.viewport = new App.Viewport({
application: this
});
Ext.dispatch({
controller: 'User',
action : 'index'
});
}
});
/**
* @class App.Viewport
* @extends Ext.Panel
* This is a default generated class which would usually be used to initialize your application's
* main viewport. By default this is simply a welcome screen that tells you that the app was
* generated correctly.
*/
App.Viewport = Ext.extend(Ext.Panel, {
id : 'viewport',
layout : 'card',
fullscreen: true,
cardSwitchAnimation: 'slide',
initComponent: function() {
Ext.apply(this, {
dockedItems: [
{
//Top Bar
dock : 'top',
xtype : 'toolbar',
title : 'Whats Good',
items: [
{
text: 'About'
},
]
}
]
});
App.Viewport.superclass.initComponent.apply(this, arguments);
}
});
Ext.reg('App.Viewport', App.Viewport);
Neuen Code:
if (!App.viewport.getDockedComponent(homeBar)) {
var homeBar = new App.HomeBar();
App.viewport.addDocked(homeBar);
}
Will ich auch können, bedingt gelten DockedItems (Symbolleisten) basierend auf welche Art von panel ist aktuell gerenderte Ansichtsfenster. ZB: einen für Login, Startseite, detail-Bildschirm, etc.
Ich habe versucht, mit Ext.apply(App.Viewport, { dockedItems: [App.LoginBar]});
Aber das funktioniert nicht. Aktuell funktioniert das hinzufügen der Symbolleiste, um das aktuell gerenderten Panel, und wenn er auf Vollbild, aber leider die übergänge und Verhalten sich die Dinge unheimlich, wie die Struktur ist
Panel
Toolbar
Panel
Toolbar
/end Panel
/end Panel
Hat jemand einen Vorschlag?
InformationsquelleAutor JBlake | 2011-01-18
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Um den Verweis auf Ihre Anwendung viewport, können Sie über den 'App' - namespace, der ist automatisch erstellt, indem Sie die name-Eigenschaft des regApplication config.
So können Sie Ihre toolbar-button tun dies zum Beispiel:
Denen machen würde, die Titel zu ändern, wenn Sie die Taste drücken.
Aber jetzt habe ich besser verstehen, was es ist Sie versuchen zu tun, empfehle ich Sie nicht andocken einer einzigen, dynamisch-verändert-Symbolleiste, um die äußere viewport, sondern fügen Sie die einzelnen Symbolleisten, um die einzelnen (Karte) Platten drin. So gelangen Sie auf die Folie schön zu 😉
Programmgesteuert hinzufügen eines angedockten Artikel, würde ich empfehlen, mit
Methoden wie diese sind weit besser als zu versuchen, zu aktualisieren, die ursprüngliche Konfiguration der Komponente.
Dann gibt es auch einen .removeDocked () - Methode, um es wieder abzulegen.
Stellen Sie außerdem sicher, Sie sind der Umgang mit Instanzen der Komponenten, nicht zu versuchen, die Aktualisierung Ihrer Klasse.