handlebars.js - 如何在车把的 if 条件内使用 if
问题描述
{{#if docs}}
{{#each docs}}
<h4>customer number : {{this.customer}}</h4>
<h4>number of liters required : {{this.volume}}</h4>
{{#if alldri}}
{{#each alldri}}
<h5>{{this.name}}</h5>
{{/each}}
{{/if}}
{{/each}}
{{/if}}
docs 和 alldri 都是 JSON 数组。docs 数组下的所有对象都打印得很好,但无法看到 alldri 数组下的对象。
alldri 数组是
[ { _id: 5c94c61f955fa804fc96657c,
name: '1',
phonenumber: '9640121413',
email: 'taditarun123@gmail.com'
__v: 0 },
{ _id: 5c94c683955fa804fc96657d,
name: '2',
phonenumber: '9493447471',
email: 't@gmail.com'
__v: 0 } ]
文档数组是
[ { _id: 5c93a9812671d127785c105e,
customer: '1',
merchant: '11',
volume: '12',
__v: 0 } ]
解决方案
您的问题实际上与if
指令无关。它与范围有关。当您在each
指令中时,您将无法访问父范围。所以你不能进入alldri
里面。这就是为什么它评估为假而不渲染该内容的原因。
请参阅使用 Handlebars 'each' 循环访问父级的属性。
如果您的模板更改为:
{{#if docs}}
{{#each docs}}
<h4>customer number : {{this.customer}}</h4>
<h4>number of liters required : {{this.volume}}</h4>
{{#if ../alldri}}
{{#each ../alldri}}
<h5>{{this.name}}</h5>
{{/each}}
{{/if}}
{{/each}}
{{/if}}
注意../alldri
.
推荐阅读
- python - 从python烧瓶中的for循环传递文件名作为参数
- cmake - 使用 cmake 将 libheif 作为外部依赖项包含到项目中
- sql - SQL - 如果有对,则避免选择
- php - PHP 一个前面带 0 的数字
- android - Observer 在BackPressed 上提供旧数据
- reactjs - 无效的钩子调用博览会
- google-cloud-dataflow - apache beam 如何访问 bigtable 数据?
- reactjs - React Semantic-UI:Dropdown.Menu / 问题
- python - 如何使用 Python 删除部分 XML 数据并将其写入新文件
- sas - 将集合合并为一个数据。(在宏中)在 SAS 中