worklight 5.0.6 にアップグレードした後、トランジションの終了時に dojox.mobile.View のperformTransitionメソッドがコールバック関数を呼び出していないことがわかりました。
registry.byId("view1").performTransition("view2", 1, "slide", null, function(){console.log("hello")})
worklight 5.0.6 にアップグレードした後、トランジションの終了時に dojox.mobile.View のperformTransitionメソッドがコールバック関数を呼び出していないことがわかりました。
registry.byId("view1").performTransition("view2", 1, "slide", null, function(){console.log("hello")})
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 バージョンの変更だけですか?
これが役に立てば幸いです、エイドリアン