Sencha Touch 2 Ext.Liste programmgesteuert hinzufügen Detailansicht
Ich versuche, fügen Sie verschiedene detail-Ansicht basierend auf verklebten Element in der Liste.
- Ich habe home-Bildschirm, der mit der List-Komponente-und in dieser Ansicht ist die Anzeige ['Immobilien', 'Fahrzeuge', 'Jobs']... als Menüpunkte.
- Basierend auf ausgewählten Elements in der Liste, ich will zum anzeigen verschiedener anzeigen.
- Und ich will Folgen, MVC design pattern..
Hier ist ein code...
App.js
Ext.application({
name: 'App',
controllers: ['Main'],
views: ['Viewport', 'HomePage'],
stores: ['HomePageItems'],
models: ['HomePageItem'],
launch: function () {
Ext.Viewport.add(Ext.create('App.view.Viewport'));
}
});
Viewport.js
Ext.define("App.view.Viewport", {
extend: 'Ext.navigation.View',
requires: [ 'App.view.realestate.Realestate',
'App.view.HomePage',
'App.view.jobs.Jobs',
'App.view.other.Other',
'App.view.vehicles.Vehicles'
],
config: {
items: [
{
xtype: 'homepage'
}
]
}
});
HomePage.js ( xtype = "homepage" )
Ext.define('App.view.HomePage', {
extend: 'Ext.List',
xtype: 'homepage',
id: 'homepage',
config: {
title: 'Oglasi',
itemTpl: '<strong>{name}</strong><p style="color:gray; font-size:8pt">{description}</p>',
store: 'HomePageItems',
onItemDisclosure: true
}
});
Main.js
Ext.define('App.controller.Main', {
extend: 'Ext.app.Controller',
config: {
refs: {
main: '#homepage'
},
control: {
'homepage': {
disclose: 'HookUpDetailView'
}
}
},
HookUpDetailView: function (element, record, target, index, ev) {
//TO DO: I have 4 differente views to load programmaticaly based on selected item in List
//'App.view.realestate.Realestate'
//'App.view.jobs.Jobs'
//'App.view.other.Other'
//'App.view.vehicles.Vehicles'
}
});
Fand ich ein Beispiel, aber es funktioniert nicht für mich (push-Methode nicht existiert)
this.getMain().push({
xtype: 'realestatehome'
});
Danke im Voraus!
InformationsquelleAutor Aleksandar Borkovac | 2012-05-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Methode, die Sie suchen, ist
http://docs.sencha.com/touch/2-0/#!/api/Ext.Container-Methode-hinzufügen
Aber was Sie haben, nicht Sinn machen, realestatehome ist eine Liste, Sie können nicht fügen Sie eine Komponente unter. Sie Lesen müssen, über layoutsFrom den link oben
InformationsquelleAutor Juan Mendes
Push sollte funktionieren. Sie könnten versuchen, so etwas wie dieses.
Und eine bestimmte Sicht Aussehen könnte
Und die refs Zugang zu Ihrem besonderen Blick sollte so Aussehen wie
Hoffe, das hilft
InformationsquelleAutor fuzzyLikeSheep
Machte ich einen Fehler im controller.getMain()
bekommen wichtigste ist die Rückkehr Ext.Liste und ich brauche Ext.navigation.Anzeigen, die 'push' - Methode.
Also... ich Hinzugefügt xtype und id zu meinem viewport ("container")
und schnelle Veränderung in meinem controller gelöst meine Probleme...
und anstatt Ext.Liste Objekt
Und diese arbeiten wie ein Charme 🙂
InformationsquelleAutor Aleksandar Borkovac