DOJO 1.8基本小部件显示json数据

时间:2015-04-14 12:23:49

标签: javascript json 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

我已经盯着它看了几个小时,希望有一双新鲜的眼睛可能会有所帮助。

1 个答案:

答案 0 :(得分:1)

有时候输入问题就是自己解决问题。

只需要$ {propertyName}而不是$ {baseClass}