用于显示 json 数据的 DOJO 1.8 基本小部件
DOJO 1.8 basic widget to display json data
刚开始使用 dojo,我敢打赌这很容易解决,但它让我抓狂
这是一个获取 json 并加载小部件的函数加载小部件
require([
"dojo/request",
"dojo/dom",
"dojo/_base/array",
"customWidget/carouselWidget",
"dojo/domReady!",
"dojo/json"
], function(request, dom, arrayUtil, carouselWidget, JSON){
request("data/carousel.json", {
handleAs: "json"
}).then(function(data){
var carouselContainer = dom.byId("learnCarousel");
arrayUtil.forEach(data, function(item){
var widget = new carouselWidget(item).placeAt(carouselContainer);
});
}, function(err){
console.log(err);
});
});
这是小部件
define(["dojo/_base/declare",
"dijit/_WidgetBase",
"dijit/_TemplatedMixin",
"dojo/text!./template/carouselWidget.html"
], function (declare, _WidgetBase, _TemplatedMixin, template) {
return declare([_WidgetBase, _TemplatedMixin], {
name: "no data",
sauce: require.toUrl("./img/Desert.jpg"),
templateString: template,
baseClass: "carouselWidget"
});
});
这是小部件模板
<div id="item">
<img src="${baseClass}sauce" data-dojo-attach-point="imgNode" />
<p>${baseClass}sauce</p>
<p data-dojo-attach-point="nameNode">${baseClass}name</p>
</div>
我正在关注本教程 http://dojotoolkit.org/documentation/tutorials/1.10/recipes/custom_widget/
它几乎就在那里,但它没有输出 json 数据,它只是输出了单词。
carouselWidgetsauce
carouselWidgetname
我已经盯着它看了几个小时了,希望一双新鲜的眼睛能有所帮助。
有时只需输入问题就可以自己解决。
只需要 ${propertyName} 而不是 ${baseClass}
刚开始使用 dojo,我敢打赌这很容易解决,但它让我抓狂
这是一个获取 json 并加载小部件的函数加载小部件
require([
"dojo/request",
"dojo/dom",
"dojo/_base/array",
"customWidget/carouselWidget",
"dojo/domReady!",
"dojo/json"
], function(request, dom, arrayUtil, carouselWidget, JSON){
request("data/carousel.json", {
handleAs: "json"
}).then(function(data){
var carouselContainer = dom.byId("learnCarousel");
arrayUtil.forEach(data, function(item){
var widget = new carouselWidget(item).placeAt(carouselContainer);
});
}, function(err){
console.log(err);
});
});
这是小部件
define(["dojo/_base/declare",
"dijit/_WidgetBase",
"dijit/_TemplatedMixin",
"dojo/text!./template/carouselWidget.html"
], function (declare, _WidgetBase, _TemplatedMixin, template) {
return declare([_WidgetBase, _TemplatedMixin], {
name: "no data",
sauce: require.toUrl("./img/Desert.jpg"),
templateString: template,
baseClass: "carouselWidget"
});
});
这是小部件模板
<div id="item">
<img src="${baseClass}sauce" data-dojo-attach-point="imgNode" />
<p>${baseClass}sauce</p>
<p data-dojo-attach-point="nameNode">${baseClass}name</p>
</div>
我正在关注本教程 http://dojotoolkit.org/documentation/tutorials/1.10/recipes/custom_widget/
它几乎就在那里,但它没有输出 json 数据,它只是输出了单词。
carouselWidgetsauce carouselWidgetname
我已经盯着它看了几个小时了,希望一双新鲜的眼睛能有所帮助。
有时只需输入问题就可以自己解决。
只需要 ${propertyName} 而不是 ${baseClass}