Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 把手#仅限各顶层_Javascript_Handlebars.js - Fatal编程技术网

Javascript 把手#仅限各顶层

Javascript 把手#仅限各顶层,javascript,handlebars.js,Javascript,Handlebars.js,我刚开始用车把,所以如果这很简单或者已经得到了回答,我会提前道歉(我找不到任何搜索) 我想在模板中显示一个多级json对象。但是,我只希望显示顶级元素,如果它们具有子属性,则不显示 当前模板: <div id="example"> {{#each myObject}} {{@key}}: {{this}}<br> {{/each}} </div> 我想要的(简化的)输出是: <div> a: value1<br> b: valu

我刚开始用车把,所以如果这很简单或者已经得到了回答,我会提前道歉(我找不到任何搜索)

我想在模板中显示一个多级json对象。但是,我只希望显示顶级元素,如果它们具有子属性,则不显示

当前模板:

<div id="example">
{{#each myObject}}
   {{@key}}: {{this}}<br>
{{/each}}
</div>
我想要的(简化的)输出是:

<div>
a: value1<br>
b: value2<br>
c: value3<br>
e: value5<br>
</div>

<div>
d<br>

a: 1<br>
b: 2<br>
c: 3<br>
</div>

a:值1
b:值2
c:值3
e:value5
d
a:1
b:2
c:3
我正在努力解决的是如何将if添加到模板中,以便测试属性下是否有子对象,而不是在第一部分中显示它

然后,对于每个具有子对象的属性,将其显示在下面(或其他位置),并遍历其每个子属性


任何帮助都将不胜感激。

您可以通过创建帮助函数来实现这一点:

Handlebars.registerHelper('checkForJson', function (a) {
        if(typeof a =='object')
    {
        return true;
   }
   return false;
});
要在html中使用它,请执行以下操作:

 <div id="example">
                {{#each .}}
            {{#if (checkForJson this) }}
                    {{#each this}}
                         {{@key}}: {{this}}<br>
                    {{/each}}
            {{else}}
                    {{@key}}: {{this}}<br>
            {{/if}}
        {{/each}}
</div>

{{{#每个。}
{{{if(checkForJson this)}
{{{#每个这个}
{{@key}}:{{this}}
{{/每个}} {{else} {{@key}}:{{this}}
{{/if} {{/每个}}
谢谢,这解决了这个问题,我没有意识到的是,我的一些对象中有数组,这会产生一些奇怪的效果,但通过对上面的修改,应该可以相对轻松地清除这些效果。
 <div id="example">
                {{#each .}}
            {{#if (checkForJson this) }}
                    {{#each this}}
                         {{@key}}: {{this}}<br>
                    {{/each}}
            {{else}}
                    {{@key}}: {{this}}<br>
            {{/if}}
        {{/each}}
</div>