2

Heading または ListItem をマークアップして moveTo 属性を持たせることができ、そのトランジションは完全に機能します。

ボタンのクリックで、名前付きビューへの遷移をプログラムで実行する方法はありますか?

ネットのどこかで以下のコードを見つけましたが、機能していません。これに似たものが必要です -

function moveTo(){
var w = dijit.byId('currentView');
w.performTransition('#newView',1,"fade",null);
}
4

1 に答える 1

1

このコード サンプルは、id "ButtonID" を持つボタンに onclick イベント ハンドラーを登録します。ボタンを押すと、表示されたビューを見つけるために dijit レジストリ内のルックアップが実行されます。

任意の dojox.mobile.View で関数 performTransition(...) を呼び出すことができます。

require(["dijit/registry"], function(registry) {
    dojo.ready(function() {
        // Button Listener
        registry.byId("ButtonID").on("click", function(){
            var oldView = dijit.registry.byId("ID_View1");
            oldView.performTransition("ID_View2", 1, "slide", null);
        });
});

ただし: 「moveTo」パラメーターをプログラムで変更することは、ビュー間の遷移を実行するよりもはるかに困難です。dojox.mobile.Heading の Backbutton のようなウィジェットの moveTo 属性をオーバーライドするには、厄介なことをする必要があります。

var heading1 = dijit.registry.byId("ID_Heading");
heading1.destroyDescendants();
heading1.moveTo = viewId;
heading1.backButton = false;
heading1._setBackAttr("Zurück");            
于 2013-02-18T15:32:58.627 に答える