我是工作环境的新手,最近开始研究它。
我正在使用dojo版本1.9(IBM支持的版本),worklight 6.1,OS windows 7,eclipse juno sr2 64bit,IE 10(适用于RPE),Google Chrome最新版本(默认浏览器)。
我在dojo mobile中尝试了很多小部件并且所有这些小部件工作正常,我也遇到过其他问题,例如“Worklight 6.1 Android Applicaiton呈现所有没有小部件的视图”并遵循解决方案中给出的所有步骤并成功创建了查看了MBS和Android模拟器上的页面。 唯一的问题是我正在处理观点。我从dojo和TabBarButtons添加了一个tabBar用于视图转换。还要在页面中添加一些视图,并将它们与按钮链接。我还检查并看到我的main.js文件已更新所有包含的元素。 虽然工具栏和默认视图是可见的,但是当我单击tabBar中的其他按钮时,它不会切换视图。 也点击TabBarButtons铬控制台中的错误弹出窗口 - 未捕获的TypeError:undefined不是函数
每次点击都会弹出此错误。
这是我在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>
// Rest all是默认代码,jquery版本或其他任何内容都没有变化 我也尝试过以下的事情,似乎没有一个能起作用: - 从dojoLib / dojo / dojo / nls / core-web-layer.js和mobile-web-layer.js文件中的www文件夹中复制和替换文件。 - 将Tabbar从任何视图中直接保存到body标签和链接视图中。 - 为tabBar和制表符按钮元素以及视图元素添加了id属性。 -turned off提供缺少的库资源并包含丢失的文件(如果有的话),重建项目并再次运行。
答案 0 :(得分:3)
主要问题(导致异常)是moveto属性的视图ID周围缺少引号。它应该是:
data-dojo-props="moveTo:'view0',
修复后,您的样本将起作用。
但还有另一个问题,这次是设计问题:TabBar fixed
属性仅在与ScrollableView一起使用时才有意义(此属性确保标签栏不滚动并保持其底部位置)。所以你的外部视图应该是ScrollableView。
另请注意,嵌套视图有一些限制。特别是,使用&#39; moveto&#39;如果后者包含在另一个父视图中,则无法从视图转换到另一个视图。
不要犹豫,看看dojox / mobile / tests和documentation
中的各种测试