0

worklight 5.0.6 にアップグレードした後、トランジションの終了時に dojox.mobile.View のperformTransitionメソッドがコールバック関数を呼び出していないことがわかりました。

  registry.byId("view1").performTransition("view2", 1, "slide", null, function(){console.log("hello")})
4

1 に答える 1

1

Mac OSX 10.8.3 上の Worklight Studio 5.0.6.20130311-0918 でこれをテストし、Xcode 4.6.2 を使用して iPhone 5 iOS 6.1.3 にデプロイしましたが、問題なく動作しました。これが他の OS やデバイスで異なるとは思わないでしょう。

これは、新しい Dojo ハイブリッド WL プロジェクトから始めて、あなたの説明を模倣することを目指して、私が試したコードです。

1/ test/common/test.html で、これを の HTML コンテンツとして使用します。

<div data-dojo-type="dojox.mobile.ScrollableView" id="view0"
    data-dojo-props="selected:true">
    <li data-dojo-type="dojox.mobile.ListItem" data-dojo-props="label:'item 1'"></li>
    <li data-dojo-type="dojox.mobile.ListItem" data-dojo-props="label:'item 2'"></li>
</div>
<div data-dojo-type="dojox.mobile.ScrollableView" id="view1">
    <li data-dojo-type="dojox.mobile.ListItem" data-dojo-props="label:'item 3'"></li>
    <li data-dojo-type="dojox.mobile.ListItem" data-dojo-props="label:'item 4'"></li>
</div>

2/ test/common/js/test.js で、このバージョンの dojoInit() を使用します。

function dojoInit() {
    require([ "dijit/registry", "dojo/ready", "dojo/parser", "dojox/mobile", 
              "dojox/mobile/compat", "dojox/mobile/deviceTheme", 
              "dojox/mobile/ScrollableView" ],
            function(registry, ready) {
                ready(function() {
                    var v0 = registry.byId("view0");
                    v0.performTransition("view1", 1, "slide", null,
                        function(){
                            alert("transition done");
                            console.log("transition done");
                    });

                });
            });
}

これは、アラート ボックスとコンソールのログ メッセージを含め、私にとっては問題なく機能しました。

Dojo のバージョンは 1.8.1 だとおっしゃっていますが、これは、WL 5.0.6 の新規インストールで表示される Dojo のバージョンではありません。/dojo/version.txt の内容を確認していただけますか? 私の場合、「1.8.3-20130207-IBM」が含まれています。同じですか?そうでない場合、および Eclipse の更新を使用して古い WL バージョンをアップグレードした場合は、WL 5.0.6 を最初からインストールすることをお勧めします。

また、Worklight 5.0.6 にアップグレードする前に使用していたバージョンは何ですか? 移行中にコードを変更しましたか、それともアプリに対して行った変更は WL バージョンの変更だけですか?

これが役に立てば幸いです、エイドリアン

于 2013-05-03T13:32:09.307 に答える