0

我有一个模板循环遍历我所有的导航链接的数组。但我想为我的链接使用 ember linkTo 助手。

我的模板:

<script type="text/x-handlebars" id="_sideNav">
    <div id="sideNav">  
        <ul>
        {{#each model.sideNav}}
        <li>{{link}}
            <a>
                <i {{bindAttr class="iconClass"}}></i><p>{{label}}</p>
            </a>
        </li>
    {{/each}}
    </div>
</script>

我的模型:

[
    {
        "label": "Overview",
        "iconClass": "icon-overview",
        "link": "{{#linkTo Overview}}Hello{{/linkTo}}"
    }, {
        "label": "Posts",
        "iconClass": "posts",
        "link": "{{#linkTo totalEnergy}}Hello{{/linkTo}}"
    }
]

你可以看到我在我的模型中放置了 linkTo 助手,这并没有什么意义,当然我的页面上出现了文本“{{#linkTo totalEnergy}}Hello{{/linkTo}}”。

但是我认为您可以在这里看到我想要了解的内容,并且我认为能够使用模板生成其他模板真的很有帮助。我的实际导航有 12 个以上的链接,这些链接会根据服务器数据和页面上的相关内容而变化。

我觉得我可以破解它以使其工作,方法是在运行一些把手模板之前不初始化 ember 应用程序,但我想知道是否有人有更好的主意。

谢谢

4

2 回答 2

1

我认为返回有关您的链接的元数据更简单,例如:

App.MenuController = Ember.ArrayController.create({
    content: [
        {"route": "student", "title": "Student Info Page"}, 
        {"route": "payments", "title": "Payments and Pricing"}, 
        {"route": "policy", "title": "Mine"}, 
        {"route": "biography", "title": "About Me"}
    ]
});

然后使用以下方法在您的模板中设置:

{{#each routeObject in App.MenuController}}
    {{#linkTo routeObject.route}}{{routeObject.title}}{{/linkTo}}
{{/each}}

但是要启用绑定linkTo到某个对象。需要设置:

Ember.ENV = {
    HELPER_PARAM_LOOKUPS: true
}
于 2013-08-15T21:22:41.140 回答
0

您可以为链接制作另一个模板并使用“渲染”助手为每个链接传递模型

于 2013-08-15T19:08:14.613 回答