node.js - 如何将对象发送到 .marko 模板并在表格中动态呈现其属性
问题描述
我在这里做一些功课。构建一个服务器来处理申请以动态列出数据库中的所有寄存器。我使用节点 js 和模块:express、marko 和 sqlite3。db 已设置并有一些用于测试的寄存器;(id、名称、描述、价格)。路由'/planos'设置为返回一个promise,它的.then函数发送一个.marko文件,作为第一个参数,和一个对象,这是DAO的结果,列出数据库中我所有的东西,作为第二个参数. DAO 正在工作,并且带有所有 db 寄存器的对象正在返回,但我无法让 marko 在我的 html 中打印它...
我试图让它正确,但我不知道如何引用我传递给模板的对象中的数据。在这个过程中很多“无法读取未定义的'属性'”......
//路线。
app.get('/planos', function(req, resp){
planoDao = new PlanoDAO(db)
planoDao.listagem().then(function(resultado){
console.log(resultado)
resp.marko(require('../views/plano/plano2.marko'), {
planos: resultado
})
})
})
//.marko 文件
<table >
<tr>
<th>ID</th>
<th>Nomes</th>
<th>Descrição</th>
<th>Preços</th>
</tr>
<${out.global.planos? planos-tr : 'tr' }>
<td>${input.planos.id}</td>
<td>${out.global.nome}</td>
<td>${out.global.desc}</td>
<td>${out.global.price}</td>
</>
<if(data.planos)>
<for |{planos}| in=data.planos>
<tr>
<td>ID: ${data.id}</td>
<td>${data.planos.nome}</td>
<td>${data.planos.desc}</td>
<td>${data.planos.price}</td>
</tr>
</for>
</if>
</table>
解决方案
<if(data.planos)>
<for(plano in data.planos)>
<tr>
<td>${plano.id}</td>
<td>${plano.name}</td>
<td>${plano.desc}</td>
<td>${plano.price}</td>
</tr>
</for>
</if>
推荐阅读
- java - 从类中获取信息以在应用程序中运行
- c# - Groupby Lambda 表达式
- python - CSV 到嵌套(分层)JSON - 使用 Python 标记父母
- ionic-framework - 无法水平滚动离子卡
- jquery - jQuery - 实时更新长度,而不是仅在页面加载时
- wordpress - Wordpress 主题版权编辑(页脚)
- tfs - TFS 开发运维。找不到外部项目文件
- android - 一个文本视图,字符串最多再换行
- php - Amazon Connect 从 Lambda 函数和 PHP 接收 JSON 数据
- ios - 此 ActionScript 函数的 Swift 等效项