我在这里做一些功课。构建一个服务器来处理申请以动态列出数据库中的所有寄存器。我使用节点 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>