dojox/mobile/Badge未在自定义列表项中呈现
这是自定义dojox/mobile/Badge未在自定义列表项中呈现,mobile,dojo,listitem,badge,Mobile,Dojo,Listitem,Badge,这是自定义列表项的模板: var template = "<div>" + " <div style='display: inline;' data-dojo-attach-point='labelNode'></div>" + " <div data-dojo-type='dojox/mobile/Badge' data-dojo-props='value:${size}' style='display:
列表项的模板
:
var template =
"<div>" +
" <div style='display: inline;' data-dojo-attach-point='labelNode'></div>" +
" <div data-dojo-type='dojox/mobile/Badge' data-dojo-props='value:${size}' style='display: inline; position: absolute; right: 100px;'></div>" +
"</div>";
define([
"dojox/mobile/ListItem",
"dijit/_TemplatedMixin",
"dojox/mobile/Badge",
"dojo/_base/declare"
], function (ListItem, TemplatedMixin, Badge, declare) {
var template =
"<div class='areaDone${done}'>" +
" <div style='display: inline;' data-dojo-attach-point='labelNode'></div>" +
" <div data-dojo-type='dojox/mobile/Badge' data-dojo-props='value:${size}' style='display: inline; position: absolute; right: 100px;'></div>" +
"</div>";
TemplatedListItem = declare("CustomListItem",
[ListItem, TemplatedMixin], {
label: "My label",
size: "0",
templateString: template
}
);
});
下面是html(jade)代码:
最后,用于填充列表的js:
store = new Memory({data: JSON.parse(data), idProperty: "Desc"});
list.setStore(store);
您缺少从
\u WidgetsInTemplateMixin扩展的功能,此mixin告诉模板系统模板中有其他小部件,并在小部件实例化时实例化它们。你可以
有关如何在代码中使用它的示例,请阅读注释:
define([
"dojox/mobile/ListItem",
"dijit/_TemplatedMixin",
"dijit/_WidgetsInTemplateMixin", //Include this module
"dojox/mobile/Badge",
"dojo/_base/declare"
], function (ListItem, TemplatedMixin, _WidgetsInTemplateMixin, Badge, declare) {
var template =
"<div class='areaDone${done}'>" +
" <div style='display: inline;' data-dojo-attach-point='labelNode'></div>" +
" <div data-dojo-type='dojox/mobile/Badge' data-dojo-props='value:${size}' style='display: inline; position: absolute; right: 100px;'></div>" +
"</div>";
TemplatedListItem = declare("CustomListItem",
[ListItem, TemplatedMixin, _WidgetsInTemplateMixin/*Extend*/], {
label: "My label",
size: "0",
templateString: template
}
);
});
定义([
“dojox/mobile/ListItem”,
“dijit/_TemplatedMixin”,
“dijit/_WidgetsInTemplateMixin”,//包括此模块
“dojox/mobile/Badge”,
“dojo/_base/declare”
],函数(ListItem,TemplatedMixin,_WidgetsInTemplateMixin,Badge,declare){
变量模板=
"" +
" " +
" " +
"";
TemplatedListItem=declare(“CustomListItem”,
[ListItem,TemplatedMixin,_WidgetsInTemplateMixin/*Extend*/]{
标签:“我的标签”,
大小:“0”,
模板字符串:模板
}
);
});
您是否正在使用/创建小部件?你能发布你的js/widget的一段代码吗?我只是想在EdgeToEdgeStoreList中使用我的自定义ListItem。我将在我的问题中添加一些其他代码。如果还不够,请问!它就像一个符咒!我不理解模板mixin的作用。此外,在为dojox
开发时,我还担心includedijit
组件会带来混乱!
store = new Memory({data: JSON.parse(data), idProperty: "Desc"});
list.setStore(store);
define([
"dojox/mobile/ListItem",
"dijit/_TemplatedMixin",
"dijit/_WidgetsInTemplateMixin", //Include this module
"dojox/mobile/Badge",
"dojo/_base/declare"
], function (ListItem, TemplatedMixin, _WidgetsInTemplateMixin, Badge, declare) {
var template =
"<div class='areaDone${done}'>" +
" <div style='display: inline;' data-dojo-attach-point='labelNode'></div>" +
" <div data-dojo-type='dojox/mobile/Badge' data-dojo-props='value:${size}' style='display: inline; position: absolute; right: 100px;'></div>" +
"</div>";
TemplatedListItem = declare("CustomListItem",
[ListItem, TemplatedMixin, _WidgetsInTemplateMixin/*Extend*/], {
label: "My label",
size: "0",
templateString: template
}
);
});