如何使用带有对象数组的把手显示表格
Posted
技术标签:
【中文标题】如何使用带有对象数组的把手显示表格【英文标题】:how to display table using handlebars with array of Object 【发布时间】:2018-03-30 08:37:24 【问题描述】:我使用车把作为模板引擎使用 express-generator 创建了一个 Web 应用程序。如果我从响应中显示对象数组,它会显示。但是,当我在视图中的每个循环都没有显示任何内容时。
/********************************
model file ../controllers/books.js
*********************************/
var request = require('request');
exports.list = function(req, res, next)
request.get( url: "https://jsonplaceholder.typicode.com/posts" , function(error, response, body)
if (!error && response.statusCode == 200)
res.render('index', title: 'speed Tracker', list: body );
);
;
/***********************
route file
************************/
var express = require('express');
var router = express.Router();
var books = require('../controllers/books');
/* GET home page. */
router.get('/', books.list);
<!-- language: lang-html -->
<table id="datatable" class="table table-striped table-bordered">
<thead>
<tr>
<th>ID</th>
<th>Album Id</th>
<th>title</th>
<th>url</th>
<th>image</th>
</tr>
</thead>
list
<tbody>
#each list
<tr>
<td>id</td>
<td>userId</td>
<td>title</td>
<td>body</td>
<td></td>
</tr>
/each
</tbody>
</table>
json of list
[ “用户ID”:1, “身份证”:1, "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", “body”:“quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto” , “用户ID”:1, “身份证”:2, "title": "qui est esse", “身体”:“est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla” , .....
我在上面添加了代码,数据不是在每个循环中显示的。
【问题讨论】:
对象数组的每个循环都不起作用 我在每个循环中都尝试了这个和没有这个,但都失败了 我在该代码中使用了 #each list,list 是一个对象数组。我需要建表。 您的#each
语法有效。您能否提供一个传递给车把的示例list
数据?另外,我注意到一件事:您的<img src="" >
中缺少引号。什么是this.body
格式?
【参考方案1】:
我必须在 book.js 文件中将列表从字符串转换为对象。我已经添加了下面的代码。
var request = require('request');
exports.list = function(req, res, next)
request.get( url: "https://jsonplaceholder.typicode.com/posts" , function(error, response, body)
if (!error && response.statusCode == 200)
res.render('index', title: 'speed Tracker', list: JSON.parse(body) ); // add JSON.parse to convert string to object :)
);
;
【讨论】:
以上是关于如何使用带有对象数组的把手显示表格的主要内容,如果未能解决你的问题,请参考以下文章