【发布时间】:2012-08-24 12:43:16
【问题描述】:
我正在使用 Dojo Toolkit 开发一个移动应用程序。 我想制作以下小部件:
<div data-dojo-type="dojox.mobile.ListItem" data-dojoprops="moveTo:'breakdown'">
<div>Maximum: Some value</div>
</div>
我希望能够像这样使用小部件:
<div data-dojo-type="dojox.mobile.RoundRectList">
<div data-dojo-type="MyWidget" data-dojo-props="maximum:'1200'"></div>
</div>
这是我到目前为止所做的:
require(
[ "dojo/_base/declare", "dojo/parser", "dojo/ready",
"dojox/mobile/ListItem", "dijit/_WidgetBase",
"dijit/_TemplatedMixin" ],
function(declare, parser, ready, ListItem, _WidgetBase, _TemplatedMixin) {
declare("MyWidget", [ ListItem, _WidgetBase, _TemplatedMixin ], {
templateString: "<div>"
+ "<div>Maximum: <span data-dojo-attach-point='maximumNode'></span></div>"
+ "</div>",
maximum : "unknown",
_setMaximumAttr : { node : "maximumNode", type : "innerHTML" },
buildRendering : function() {
this.inherited(arguments);
}
});
ready(function() {
parser.parse();
});
});
我没有收到任何错误或类似的东西,页面没有加载。 这段代码有什么问题?
【问题讨论】:
-
你不需要 _WidgetBase 或 _TemplatedMixin 来创建 ListItem 的扩展,ListItem 已经继承了这两个类——尽管它没有坏处。您是否尝试过在准备好的函数中不使用 parser.parse 以编程方式创建它?
-
我没有尝试以编程方式创建它,因为根据练习是不允许的。但我也不知道如何以编程方式执行此操作,因为我是 Dojo Toolkit 的新手。你不能给我一些工作代码或教程链接吗?
标签: javascript html mobile dojo dojox.mobile