2013-04-30 41 views
0

破升級到5.0.6工作燈後,我發現,當轉變完成dojox.mobile.ViewperformTransition方法不調用回調函數。dojox.mobile.View performTransition回調在5.0.6

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

你知道哪個道場你/使用的版本?我建議檢查文檔以查看升級版本中'performTransition'的參數列表,無論可能如何。您可能會發現它更簡單(假設您沒有使用縮小版本)來檢查JS控制檯中registry.byId(「view1」)。performTransition'的輸出,我經常發現dojo中的註釋實際上更有用比文檔。 – 2013-04-30 22:43:29

+0

我在發佈前在JS控制檯中測試過。該版本是1.8.1,但由於這是工作燈,我相信IBM有它自己的編譯版本。我有其他純粹的dojo項目與1.8.0和1.8.3,這工作正常 – Mike 2013-05-01 14:16:38

+0

我不是說測試輸出,我不是說你只是再次運行的功能,我的意思是檢查實際的函數定義,它會在開始的時候有評論,說明它期望的參數。 – 2013-05-01 20:13:56

回答

1

我有工作燈工作室5.0.6.20130311-0918在Mac OSX 10.8.3測試這一點,使用的Xcode 4.6.2的iPhone 5的iOS 6.1.3部署,和它的工作就好了。我不認爲這可能在其他操作系統或設備上有所不同。

這裏是我試過,從一個全新的混合動力道場項目WL開始,旨在模仿你的描述代碼:

1 /在測試/普通/ 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 /在測試/普通/ 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版本的更改是您對應用進行的唯一更改?

希望這有助於 阿德里安