arrays - 无法使用 NodeJs + Express 服务器上的把手在索引上显示数组
问题描述
我在使用车把时遇到了一个我无法解决的问题,今天是第二天试图解决它,但我真的被卡住了。
我第一次尝试使用把手,因为我想让我正在处理的网页更有活力。
在我的服务器上,我有一个 mongoDB,有这个搜索按钮,用户可以在其中输入他们想要的任何内容,并且他们必须从任何匹配的用户那里获取用户信息。
该查询的响应如下:
_id: 5e2201a99162aa0344ed4261,
userName: 'Example',
email: 'example@example.io',
age: '23'
我正在尝试做的是获取该数据并将其显示在用户 dom 的 div 上,但由于某种原因我无法做到这一点。
在节点服务器上的 index.js 文件中,我得到了这个函数:
const printSearch = user => {
console.log(user);
res.render("main", {
layout: "index",
users: user
});
};
此函数是执行查询的回调函数,我知道在此函数上,用户在内部拥有该查询的结果,因为console.log(user);
.
然后在 main.hbs 我有以下代码:
<div id="result">
{{#if users}}
{{#each users}}
<p>{{users.userName}}</p>
<p>{{users.email}}</p>
<p>{{users.age}}</p>
{{/each}}
{{/if}}
</div>
但是由于某种原因不起作用,正如我之前所说,这是我第一次使用车把,所以我想我缺少一些东西,但我无法弄清楚。
在这里提供一点帮助真的很有帮助,我会很高兴的。
提前谢谢大家!
解决方案
要访问当前迭代值,请不要使用{{users.<property>}}
,只需:{{property}}
。如果users
是一个数组,请执行以下操作:
{{#each users}}
<p>{{userName}}</p>
<p>{{email}}</p>
<p>{{age}}</p>
{{/each}}
否则,如果users
是单个对象,您可以丢弃{{#each}}
<p>{{users.userName}}</p>
<p>{{users.email}}</p>
<p>{{users.age}}</p>
推荐阅读
- javascript - 如何将 flowJS 类型添加到自定义 Web 组件?
- mongodb - MERN堆栈二进制图像只是一个黑色方块
- python - 尽管代码正常运行,但将约会上传到 Outlook 日历时出现 Python 属性错误
- javascript - React Native 动态构建树
- android - 在 SVG 中反应原生编辑路径
- python - 使用 Python 和 Microsoft Graph 从电子邮件中提取数据
- c++ - while循环和getline问题
- php - preg_match_all 多次出现
- azure-devops - 通过 Terraform Helm 提供程序和 Azure DevOps 部署 helm 图表,同时从 ACR 获取 helm 图表
- javascript - 使用formData以角度8发送json格式的数据