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

Schreibe einen Kommentar