2014-05-07 45 views
0

我是使用worklight環境並且最近開始使用它的新手。我使用的是dojo版本1.9(IBM覆蓋的一個),worklight 6.1,OS Windows 7,eclipse juno sr2 64bit,IE 10(用於RPE),Google Chrome最新版本(作爲默認瀏覽器)。IBM Worklight 6.1 - 無法執行工作的Dojo視圖轉換

我已經嘗試了dojo mobile中的許多小部件,並且它們都工作正常,我也經歷了其他一些問題,例如「Worklight 6.1 Android Applicaiton呈現所有視圖沒有小部件」,並遵循解決方案中提供的所有步驟併成功創建並在MBS和android模擬器上查看頁面。 唯一的問題是,當我正在處理意見。我從dojo和TabBarButtons添加了一個tabBar用於視圖轉換。還要在頁面中添加幾個視圖並將它們與按鈕鏈接起來。我也檢查並看到我的main.js文件更新了所有包含的元素。 雖然工具欄與默認視圖是可見的,但當我點擊tabBar中的其他按鈕時,它不會切換視圖。 也onclicking的TabBarButtons鉻控制檯錯誤popsup - 遺漏的類型錯誤:未定義是不是一個函數

每次點擊這個錯誤彈出。

這裏是在index.html文件的body標籤我的源代碼結構: -

<body style="display: none;"> 
<div data-dojo-type="dojox.mobile.View" id="view2" 
     data-dojo-props="selected:true"> 
    <div data-dojo-type="dojox.mobile.View" id="view0" data-dojo-props="selected:true" > 
      <div data-dojo-type="dojox.mobile.Heading" 
     data-dojo-props="label:'Hello world'"></div> 

     <button data-dojo-type="dojox.mobile.Button">Hello</button> 
     <input data-dojo-type="dojox.mobile.TextBox"><input type="range" 
      data-dojo-type="dojox.mobile.Slider" 
      data-dojo-props="orientation:'H'"> 


    </div> 
    <div data-dojo-type="dojox.mobile.View" id="view1" 
     data-dojo-props="selected:false"> 
     <div data-dojo-type="dojox.mobile.Heading" 
      data-dojo-props="label:'About',moveTo:'view0'"> 
      </div> 
     <div data-dojo-type="dojox.mobile.RoundRect"> 
     Hello, we are a leading company in innovations 
     </div> 
    </div> 
    <ul data-dojo-type="dojox.mobile.TabBar" fixed="bottom" id="Tab1"> 
     <li data-dojo-type="dojox.mobile.TabBarButton" data-dojo-props="moveTo:view0,transition:'slide'" id="tabB1">Home</li> 
     <li data-dojo-type="dojox.mobile.TabBarButton" data-dojo-props="moveTo:view1,transition:'slide'" id="tabB2">About</li> 
    </ul> 
    </div> 
    <script src="js/initOptions.js"></script> 
      <script src="js/main.js"></script> 
      <script src="js/messages.js"></script> 
    </body> 

//其餘全部是默認代碼,jQuery的版本沒有變化或其他任何 我有還嘗試了以下事情,但它們都不起作用: - - 從dojoLib/dojo/dojo/nls/core-web-layer.js和mobile-web-layer.js文件中複製並替換www文件夾中的文件。 - 將Tabbar從任何視圖中直接放入body標籤並將其鏈接到視圖中。 - 向tabBar和tab按鈕元素以及視圖元素添加了id屬性。 - 關閉提供缺少的庫資源幷包含缺少的文件(如果有),重建項目並再次運行。

+0

爲什麼要刪除源代碼的各種測試?提供不適合您的ACTUAL源代碼。 –

+0

對不起,代碼顯示不正確,所以不得不刪除它,它是我們拖放小部件時插入的所有默認代碼。 –

+0

請重新添加,您剛纔沒有正確格式化它。我會修好它。 –

回答

3

主要問題(導致異常)是moveto屬性的視圖id周圍的缺失引號。它應該是:

data-dojo-props="moveTo:'view0', 

一旦修復,您的示例將工作。

但還有另一個問題,這次是設計之一:TabBar fixed屬性只有在與ScrollableView一起使用時纔有意義(該屬性確保Tabbar不滾動並保持其底部位置)。所以你的外部視圖應該是一個ScrollableView。 另請注意,嵌套視圖會帶來一些限制。特別是,如果後者包含在另一個父級中,則使用'moveto'屬性不能從視圖轉換到另一個視圖。

不要猶豫了,看DojoX中/移動/測試並將documentation

+0

是的,它的工作現在。哇,這樣一個小小的錯誤讓我陷入了一個星期的困境。也許它是工作中的一個錯誤,我沒有編寫任何代碼來確保我沒有犯錯誤。這些'moveTo'屬性是在屬性視圖中使用worklight UI設置的。另外值得注意的是,爲幻燈片切換屬性添加了引號(儘管這也是使用Worklight UI設置的)。是的,當我們創建一個tabBar時,'fixed bottom'屬性也會默認添加。但是,感謝隊友,我一定會通過文檔。 –

相關問題