【问题标题】:How do I use Dojo inside of Worklight correctly?如何在 Worklight 中正确使用 Dojo?
【发布时间】:2012-10-30 08:14:35
【问题描述】:

我需要一些关于如何在我的项目中正确使用 Dojo 的帮助和建议。目前,这就是我正在做的事情:

假设我设置了一个名为“测试”的项目。 Test.html 是第一个命中的文件,在该文件中我有以下内容:

<script type="text/javascript" data-dojo-config="isDebug: false, async: true, parseOnLoad: true" src="dojo/dojo.js"></script>
<script type="text/javascript" src="dojo/core-web-layer.js"></script>
<script type="text/javascript" src="dojo/mobile-ui-layer.js"></script>
<script type="text/javascript" src="dojo/mobile-compat-layer.js"></script>
<script type="text/javascript">
  require(
  // Set of module identifiers
  [ "dojo", "dojox/mobile/parser", "dojox/mobile/SwapView", "dojox/mobile", "dojox/mobile/compat", "dojox/mobile/deviceTheme", "dojox/mobile/ScrollableView" ],
  // Callback function, invoked on dependencies evaluation results  
  function(dojo) {
    dojo.ready(function() {});
  });
</script>   

我在 Test.js 中也有这个:

require([ "dojo", "dojox/mobile/parser", "dojox/mobile/deviceTheme",
  "dojox/mobile/ScrollableView", "dojox/mobile/compat", "dojox/mobile",
  "dojox/mobile/Button", "dojox/mobile/View", "dojox/mobile/Heading",
  "dojox/mobile/TabBarButton", "dojox/mobile/TabBar",
  "dojox/mobile/TextBox", "dojox/mobile/RoundRectList",
  "dojox/mobile/ListItem", "dojox/mobile/Button",
  "dojox/mobile/SpinWheel", "dojox/mobile/SpinWheelSlot",
  "dojox/mobile/IconContainer", "dojox/mobile/SwapView" ], 
  function(dojo, parser) {
    dojo.ready(function() {

    });
  });

现在,当我在其中一个按钮上单击 a 时,它会触发 WL.Page.Load 方法,并且我的 pagePort div 现在会在我的 Test.html 页面中显示我的新页面(假设这是 Page2.html),但是,有一个问题。 Dojo 的东西在第一页上运行良好,但现在它在第二页上不起作用。我不确定幕后发生了什么,但我觉得我错过了一步(我需要卸载 Dojo 吗?在下一页再次声明它?)。

如果有人可以帮助我在第二页上使用 Dojo,以便我能够在更多页面上使用 Dojo(在了解我做错了什么之后),我将非常感激!

【问题讨论】:

    标签: dojo ibm-mobilefirst


    【解决方案1】:

    根据您提供的信息,我的最佳猜测是 Page2.html 并不真正在 Test.html 中,它是一个新页面。在这种情况下,您还需要在 Page2 中有脚本引用。

    如果您在 Web 浏览器中测试您的代码,您可以查看控制台,并希望能深入了解到底出了什么问题。

    您也可以尝试使用 Worklight 记录器来帮助定位问题。 http://wpcertification.blogspot.com/2012/03/enabling-debuglog-console-in-worklight.html

    这里也是 IBM 的“问题确定”的一般链接 http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/index.jsp?topic=/com.ibm.iea.worklight/worklight/5.0/Problem_Determination/IMFV50_ProblemDetermination/player.html

    【讨论】:

      【解决方案2】:

      正如尼克所说,如果您加载完全不同的 HTML 页面,您将拥有该页面来声明您正在使用的类。例如,在 dojox/mobile/tests 中参见 test_IconContainer.html。

      也就是说,您可以采用不同的方式进行操作,例如在相同的 HTML 中定义您的备用视图,或者使用片段机制在 Worklight 中定义您的备用视图(请参阅https://www.ibm.com/developerworks/mobile/worklight/getting-started/ 模块 60.1、2 和 3)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多