1

私はSenchaの初心者です。Sencha touch2 Routing を使用して Android で戻るボタンをサポートする方法を説明してください。私は Sencha のドキュメントを調べましたが、"#products/123" のようなシナリオで説明されていました。しかし、私の場合、常に "../index.html" のような URL ではなく、ビューのみが変更されます。

ログインページが 1 つあるとします。ログインボタンをタップすると、ホームページに移動します。デバイスの戻るボタンをタップすると、ログインに戻るはずです。では、route:{} 内にどの形式を配置すればよいでしょうか。

誰でも簡単なコードで説明してください。

前もって感謝します。

4

3 に答える 3

0

ボタン アクションでは、次のようにリダイレクトする必要があります。

 control: {
        'button[action=login]' : {
            tap: function() {
                this.redirectTo('login');
            }
        }

次に、コントローラーにルートを追加します。

config: {
    refs: {
        main: 'main'
    },

    routes: {
        'login': 'showLogin'
    }
}

最後に、showDetail 関数でビューを変更すると、URL は index.html#detail のように表示されます。

showLogin: function() {
    this.getMain().push({
        xtype: 'loginView'
    });
}

これが役立つことを願っています!

于 2012-08-17T23:01:16.433 に答える
0

多くのGoogle検索を行った後、最終的に適切な例で答えを得ました. これは参考用ですhttp://thanksmister.com/?p_=336

于 2012-08-20T13:08:18.933 に答える
0

デフォルトを使用する代わりに、戻るボタンとその参照を定義することで、より適切に制御することもできます。

Ext.define('Mov.view.BackButton', {
    extend: 'Ext.Button',
    alias: 'widget.backbutton',

    config: {
        hidden: true,
        id: 'back',
        ui: 'back',
        text: 'Back',
        backStack: {

        }
    },

    addToBackStack: function(dispatchOptions) {
        var found = false;
        this.backStack.forEach(function(el) {
            found = found || (Ext.encode(el) == Ext.encode(dispatchOptions));
        });
        if (!found) {
            this.backStack.push(dispatchOptions);
        }
        this.show();
    },

    clearBackStack: function() {
        this.backStack = [];
        this.hide();
    },

    handler: function(button, event) {
        var dispatchOptions = this.backStack.pop();

        Ext.dispatch(dispatchOptions);

        if(this.backStack.length === 0) {
            this.hide();
        }
    }
});

次に、アプリのナビゲーション バーで、このウィジェットを適用します。(初期ビューの onInitialize はうまく機能します)。

nav = this.getNavigationBar(),
nav.setBackButton(Ext.widget('backbutton'));

@jurodr には、ルーティング、参照、および制御の優れた例があり、このカスタム コンポーネントでうまく機能します。

于 2013-08-28T05:32:17.117 に答える