0

ボタンでビューを切り替えたいのですが、開発者がMVCアーキテクチャでビルドを使用することを推奨していますが、senchaドキュメントのMVCコンテキストでの例はまったくありません。Touch2.0はかなり新しいからだと思います。

http://docs.sencha.com/touch/2-0/#!/api

リストコンポーネントに関するビデオもnavigation.Viewに関するものですが、リストコンポーネントが使用されているため、ボタンでビューを切り替える方法は示されていません。

ビデオ:リストコンポーネントの概要

これは私がこれまでに持っているコードです:

uddannelser.js(最初のビュー)

Ext.define("VUCFyn.view.uddannelser", {
extend: "Ext.navigation.View",
xtype: "uddannelser",
requires: [
    "VUCFyn.view.avu"
],

config: {
    title: "Uddannelser",
    cls: "uddannelser",
    items: [
        {
            title: "Uddannelser",
            xtype: "container",
            margin: 20,
            layout: "vbox",
            items: [
                {
                    xtype: "button",
                    text: "AVU",
                    width: 100
                }
            ]
        }
    ]
}});

avu.js(uddannelserのサブビュー)

Ext.define("VUCFyn.view.avu", {
extend: "Ext.Panel",
xtype: "avu",

config: {
    title: "AVU",
    cls: "avu",
    scrollable: true,
    items: [
        {
            xtype: "label",
            html: [
                "<p>Almen Voksenuddannelse - avu - er et tilbud om uddannelse til alle over 18 år. Du kan tage avu-fagene et ad gangen eller i en kombination med flere fag. Du kan også kombinere avu-fagene med andre enkeltfag på FVU og/eller hf.</p>",
                "<h5>AVU omfatter kernefagene:</h5>",
            ].join("")
        }
    ]
}});

Main.js(コントローラー)

Ext.define('VUCFyn.controller.Main', {
extend: 'Ext.app.Controller',

config: {
    refs: {
        uddannelser: "uddannelser"
    },
    control: {
        "uddannelser": {
            tap: "showDetail"
        }
    }
},

showDetail: function () {
    this.getUddannelser().push({
        xtype: "avu"
    });
},

init: function () {

}});

上記のコード(または同様のもの)に基づいて、誰かがそれを行う方法を教えてくれたら、それは素晴らしいことです。

ところで:このスレッドの答え:Sencha Touch2MVC-ボタンでビューを切り替える方法がうまくいきません。(エラーはありませんが)Sencha Touch 1.1の場合と思いますが、2.0では多くのことが明らかに変更されています

4

2 に答える 2

0

こんにちは、コントローラーを修正するだけでうまくいくと思います。次のことを試して、どうやってうまくいくか教えてください。

config: {
refs: {
    uddannelser: "uddannelser",
    uddannelserButton: "uddanelser button"
},
control: {
    "uddannelserButton": {
        tap: "showDetail"
    }
}

}、

したがって、uddanelser ビューにボタンのセレクターを追加し、そこにクリック リスナーを追加するだけです。幸運を!

于 2013-02-18T16:28:52.660 に答える
0

navigationviewuddannelser に指定したタップ イベントをリッスンしようとしていますclsか? セットアップにはいくつかの問題があります。

まず、コントローラーでコンポーネント クエリを正しく使用していないようです。次のドキュメントを確認してください: http://docs.sencha.com/touch/2.4/apidocs/#!/api/Ext.ComponentQuery

コントローラーで管理するビュー内のこれらのコンポーネントの数に応じて、id を指定してコンポーネントを検索するか、および などの構成オプションを"#id"使用できます。xtype"navigationview[cls=uddannelser]"

次に、 でタップ イベントをリッスンすることはできませんnavigationview。このコンポーネントでタップ イベントをリッスンする場合は、 でタップ イベントをリッスンし、イベントelementをリレーする必要があります。ただし、実際にはでタップイベントをリッスンしようとしていると思われます。buttonその場合、コントローラーに2つの参照を作成します。1つは 用で、navigationviewもう1つは 用buttonです。今。buttonnavigationview

于 2014-10-26T22:55:20.480 に答える