gpt4 book ai didi

javascript - Mustache - 以使用相同名称的嵌套部分为条件

转载 作者:行者123 更新时间:2023-12-03 04:30:02 24 4
gpt4 key购买 nike

我有一个类别节点(对象数组)。如果 product 字段存在,我想打印一个列表项;如果 category 字段存在,我想打印另一个列表项。

category.nodes = [
{
product: "1",
type: "product"
},
{
product: "2",
type: "product"
},
{
category: "categoryName",
type: "category"
}
]

我的 mustache 模板是:

<p>
{{#category.nodes}}
{{#product}}
<li>{{product}}</li>
{{/product}}
{{#category}}
<li>{{category}}</li>
{{/category}}
{{/category.nodes}}
</p>

{{#category.nodes}} ... {{/category.nodes}} 应将范围放入 category.nodes section 、和部分

"render blocks of text one or more times, depending on the value of the key in the current context"

文件在 false values and empty lists 上做了如下说明: :

"If the person key does not exist, or exists and has a value of null, undefined, false, 0, or NaN, or is an empty string or an empty list, the block will not be rendered"

This jsFiddle演示了嵌套值与父值相同时的问题({{#category}}...{{/category}} 指的是全局 category,而不是类别.节点.类别。)

我想知道是否有某种方法可以指定引用哪个类别,因为这会带来嵌套问题。

This jsfiddle是通过更改父级名称来解决问题的方法,我想知道是否有某种方法可以指定引用哪个类别,而不是重命名变量。

问题是当该部分没有 category{{#category}}...{{/category}} 打印。

最佳答案

此行为匹配 the specification .

Walk the context stack from top to bottom, finding the first context that is a) a hash containing the name as a key OR b) an object responding to a method with the given name

{{#category}}category.nodes的成员中不匹配时,它会遍历堆栈并在以下位置找到category根(在此术语中位于堆栈的底部)。从我对规范的阅读来看,无法辨别数据元素的级别。

关于javascript - Mustache - 以使用相同名称的嵌套部分为条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43530225/

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