【问题标题】:DOJO 1.8 basic widget to display json dataDOJO 1.8 显示 json 数据的基本小部件
【发布时间】:2015-04-14 12:23:49
【问题描述】:

刚开始使用道场,我敢打赌这很容易解决,但它让我抓狂

这是一个获取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 轮播小部件名称

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

【问题讨论】:

  • 您的require 订单错误。将 JSON dojo/json 放在 dojo/domReady! 之前
  • 感谢这是一个很好的未来提示,我什至不需要 dojo/json 来解决这个问题,这只是 json 文件中的语法错误并使用了错误的属性名称。

标签: javascript json dojo


【解决方案1】:

有时只需输入问题即可自行解决。

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

【讨论】:

    猜你喜欢
    • 2012-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 2023-03-21
    • 2012-10-19
    • 1970-01-01
    • 2016-05-11
    相关资源
    最近更新 更多