首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在json数据中循环灰尘

在json数据中循环灰尘
EN

Stack Overflow用户
提问于 2014-05-22 22:56:11
回答 2查看 252关注 0票数 0

我被困在这里了。我使用dust作为模板编译器,但由于任何原因,我只从json返回一个值,它不是循环遍历和返回所有内容。所以我得到的只有“DWade”关于发生了什么事的想法吗?所以代码样本真的很有用。

杰森:

代码语言:javascript
运行
复制
{
 "locations": [
 {
  "userName": "MKelly",
  "hours":"9-5"
 },
 {
  "userName": "MReynolds",
  "hours":"10-2"
 },
 {
  "userName": "DWade",
  "hours":"9-9"
 }
 ]
}

这是我的jQuery:

代码语言:javascript
运行
复制
var compiled = dust.compile($('.dust-info').html(), "tmp_skill");
dust.loadSource(compiled);

    $.getJSON("/services/userInfo?" + userTypes, function(data) {      
      $.each( data.locations, function( key, val ) {
      dust.render("tmp_skill", val, function(err, out) {
      //HTML output
      $('.dust-info').html(out);
      });
    });

模板:

代码语言:javascript
运行
复制
<div class="dust-info">
   {userName}
   {hours}
 </div>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-22 23:20:07

我以前从未真正使用过灰尘,但希望我能帮上一点忙。

首先,在每次通过innerHTML时,您都要通过更改.尘埃-info的$.each来清除. clearing中的所有内容。

试着用这个作为模板

代码语言:javascript
运行
复制
{#locations}
    <div class="dust-info">
        {userName} {hours}
    </div>
{:else}
    No Location
{/locations}

在这里试用一下,http://akdubya.github.io/dustjs/ -将模板粘贴到1中,然后将模板数据粘贴到3中。

不要忘记,在使用模板之前,需要先编译它。

你以后应该能做到的

代码语言:javascript
运行
复制
dust.render("tmp_skill", data.locations, function(err, out) {
    //append generated output to body
    $(body).append(out);
})

此示例简单地将输出附加到主体中。

票数 1
EN

Stack Overflow用户

发布于 2014-06-13 03:18:25

正如上面使用andyw的注释一样,您得到了一个结果,因为在javascript代码中,您使用了以下内容:$(‘.尘埃-info’).html(Out);.html(out):js将找到带有类‘尘埃-info’的标记,然后用data.locations循环,仍然替换这个标记的html,而不是附加-或者显示为列表,所以您只看到了一个结果。andyw的答案是在尘埃模板中循环数据和显示数据列表的最佳方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23818383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档