无法访问部分车把中的对象属性

时间:2020-06-08 07:24:46

标签: node.js express handlebars.js partials express-handlebars

我正在开发nodejs应用程序。并想在网页上显示猫鼬结果。模板引擎是快速车把。

   data=  [
              {name: 'some name', image: '/some_name.jpg', location: 'some location'},
              {name: 'some name2', image: '/some_name2.jpg', location: 'some location2'},
              {name: 'some name3', image: '/some_name3.jpg', location: 'some location3'}
           ]

我想部分渲染把手中的数据。首先,我使用#each迭代每个对象,并将该对象传递给局部对象。下面是我的代码。

{{#each data}}
   {{> somePartial this}} 
{{/each}}

somePartial中,我要访问对象的属性。

 <h5>Name: {{this.name}}</h5>
 <h5>Image: {{this.image}}</h5>
 <h5>Location: {{this.location}}</h5>

我在浏览器中看不到任何值呈现。在服务器控制台中,我收到一些警告或类似的内容把手:由于属性'xxxx'不是其父项的'拥有的属性',因此拒绝访问以解析属性'xxxx'。

2 个答案:

答案 0 :(得分:0)

仅在没有 this

的情况下使用
transition_approvals

...

{{> somePartial}} 

此处有更多信息:https://handlebarsjs.com/guide/partials.html#partial-parameters

答案 1 :(得分:0)

解决车把:拒绝访问以解析属性“ xxxx”,因为它不是其父项的“自有财产”。

将结果数组映射到新数组中。

let result2 = result.map(val=>{
  return {field1: val.field1,field2: val.field2, field3: val.field3 and so on}
})

出于安全原因,车把不允许直接传递获取的结果。您需要使用必填字段进行映射,以确保不传递任何敏感数据。