gpt4 book ai didi

javascript - Handlebars : Access has been denied to resolve the property "from" because it is not an "own property" of its parent

转载 作者:行者123 更新时间:2023-12-01 11:32:11 24 4
gpt4 key购买 nike

我正在使用 Nodejs 后端和使用 Handlebars 的服务器端渲染。
看完了doc来自 Handlebars 的对象数组,其中包含关键的“内容”和“来自”。
但是,当我尝试使用 #each循环遍历对象数组,
出现错误“Handlebars: Access has been denied to resolve the property“from”,因为它不是其父级的“自己的属性”。

我试图 console.log() 我在 doc 数组中获取的数据,一切似乎都很好。

从某种 Angular 来看,这是 Mongoose 查询,
我已将对象文档添加为 res.render 参数中的键。

Confession.find()
.sort({date: -1})
.then(function(doc){
for(var i=0; i < doc.length; i++){
//Check whether sender is anonymous
if (doc[i].from === "" || doc[i].from == null){
doc[i].from = "Anonymous";
}

//Add an extra JSON Field for formatted date
doc[i].formattedDate = formatTime(doc[i].date);
}
res.render('index', {title: 'Confession Box', success:req.session.success, errors: req.session.errors, confession: doc});
req.session.errors = null;
req.session.success = null;
});


这是我试图遍历的 .hbs 文件的一部分:

 {{#each confession}}
<div class="uk-card uk-card-default uk-card-body uk-margin uk-align-center uk-width-1-2@m" >
<div class="uk-text-bold">Message: </div>
<div>{{this.content}}</div>
<div>From: {{this.from}}</div>
<div>Posted: {{this.formattedDate}}</div>
</div>
{{/each}}

最佳答案

如果使用 mongoose,可以通过使用 .lean() 获取 json 对象(而不是 mongoose 对象)来解决此问题:

dbName.find({}).lean()
// execute query
.exec(function(error, body) {
//Some code
});

关于javascript - Handlebars : Access has been denied to resolve the property "from" because it is not an "own property" of its parent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59690923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com