我不熟悉Worklight环境,并且最近开始进行工作。
我正在使用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会在Chrome控制台中弹出错误-未捕获的TypeError:未定义不是一个函数
每次点击都会弹出此错误。
这是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复制并替换了www文件夹中的文件-web-layer.js和mobile-web-layer.js文件。-将Tabbar保留在任何视图之外,直接插入body标记并链接到该视图。-为tabBar和tab按钮元素以及view元素添加了id属性。-关闭以提供缺少的库资源并包括缺少的文件(如果有),重建项目并再次运行。
主要问题(引起异常)是moveto属性的视图ID周围缺少引号。它应该是:
data-dojo-props="moveTo:'view0',
修复后,您的示例将可用。
但是还有另一个问题,这次是设计问题:TabBarfixed
属性仅在与ScrollableView一起使用时才有意义(此属性确保Tabbar不会滚动并保持其底部位置)。因此,您的外部视图应改为ScrollableView。另外,请注意,嵌套视图有一些限制。特别是,如果“ moveto”属性包含在另一个父视图中,则无法从该视图过渡到另一个视图。
不要犹豫,查看dojox / mobile / tests中的各种测试以及文档
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句