在underscore.js中显示列表中的所有项目(使用Parse.com)

Showing all items in a list in underscore.js (using Parse.com)

本文关键字:项目 使用 Parse com js underscore 显示 列表      更新时间:2023-09-26

我正在Parse.com(javascriptSDK)中构建一个应用程序,但我一直不知道如何显示我从数据库中提取的项目列表。

当项目从Parse:中提取时,它们是这种格式的

{
    "results":[
        {
            "name": "End of summer", 
            "owner": {
                "__type": "Pointer", 
                "className": "_User", 
                "objectId": "D4ttcoN6ex"
            }, 
            "createdAt": "2012-09-03T09:21:50.144Z", 
            "updatedAt": "2012-09-03T09:21:50.144Z", 
            "objectId": "Xp8Mz24fI3"
        }, {
            "name": "My summer holidays", 
            "owner": {
                "__type": "Pointer", 
                "className": "_User", 
                "objectId": "D4ttcoN6ex"
            }, 
            "createdAt": "2012-09-03T09:17:15.515Z", 
            "updatedAt": "2012-09-03T09:17:15.515Z", 
            "objectId": "hjqVThNgXu"
        }, {
            "name": "My summer", 
            "owner": {
                "__type": "Pointer", 
                "className": "_User", 
                "objectId": "D4ttcoN6ex"
            }, 
            "createdAt": "2012-09-03T09:17:31.139Z", 
            "updatedAt": "2012-09-03T09:17:31.139Z", 
            "objectId": "0UEHHXtyBG"
        }, {
            "name": "First day of school", 
            "owner": {
                "__type": "Pointer", 
                "className": "_User", 
                "objectId": "D4ttcoN6ex"
            }, 
            "createdAt": "2012-09-03T09:21:37.315Z", 
            "updatedAt": "2012-09-03T09:21:37.315Z", 
            "objectId": "W1OKKwLXmz"
        }
    ]
}

因此,基本上是一个文件夹列表,每个文件夹都有名称、所有者、createdAt、updatedAt和objectId。

我想使用underscore.js模板在列表中显示这些。

使用下划线文档,我得出了这个:

<ul>
    <% _.each( folderList["results"], function( listItem ) { %>  
        <li><%= listItem["name"] %></li>
    <% }); %>
</ul>

(其中folderList是上面的数组)。

但除了<ul></ul>之外,这并没有显示任何内容——没有任何错误或任何内容。如果我执行_.size(folderList),它会显示"4",这是正确的项目数。

我不知道自己在做什么,在Undercore上也找不到任何好的文档。

我认为您将folderList["results"]而不是folderList分配给模板。您应该检查如何将folderList变量分配给compiled_template函数。

compileFolderList=function(folderList){
      var compiled_template=_.template(' <ul><% _.each( folderList["results"], function( listItem ) { %>    <li><%= listItem["name"] %></li><% }); %></ul>'); //Compile template string 
      var html=compiled_template({'folderList':folderList}); // Assign variables that used in the template.
      return html;
}
var folderList={"results":[{"name":"End of summer","owner":{}}]};
$("body").append(compileFolderList(folderList));