把手#each失败了一个项目

时间:2014-09-11 08:20:12

标签: javascript handlebars.js

我有一个使用每个语句的把手模板,一个嵌套在另一个语句中。 它工作正常,直到内部每个都遇到数据集中只有一个项目的项目,在这种情况下它不会输出任何内容。 这是我的模板:

<div class="container">
    {{#each stories.story}}
        <div class="story">
            <h1 class="mask">
                <span>
                    {{copy.heading}}
                </span>
            </h1>
            <ul class="story-copy">
                {{#each copy.body.text}}
                    <li class="mask">
                        <span>{{this}}</span>
                    </li>
                {{/each}}
            </ul>
        </div>
    {{/each}}
</div>

正如我所说,有趣的是,当copy.body.text有多个文本节点时输出ul时,它可以工作。如果只有一个,则它是空的。 必须有一些我想念的东西。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

无法重现您的错误。 你能发布你的数据吗? 这个对我有用:http://jsfiddle.net/Schniz/7v0qawbd/

var data = {
    stories: {
        story: [{
            copy: {
                heading: "hello",
                body: {
                    text: [
                        "Hey"
                    ]
                }
            }
        }]
    }
};

然而,即使我真的不知道你的数据是什么样的,我认为你的模板看起来应该有点不同:http://jsfiddle.net/Schniz/Ly8uh2u1/用于使用看似如下的数据:

var data = {
    stories: [{
        copy: {
            heading: "hello",
            body: [
                "Hey"
            ]
        }
    }]
};