我正在尝试渲染我的应用程序模板,该模板变得非常复杂,因此我想将其拆分为单独的<script type="text/x-handlebars">

我想我想使用{{view}}帮手,但我不知道。假设我有这个:

<script type="text/x-handlebars" data-template-name="application">
    <div id="wrapper" class="clearfix">

        <hgroup>
            <header>
                <div class="logo"></div>
                <h1 id="facilityName">{{facilityName}}</h1>
                <div id="sessionInfo">
                    <a id="userName">{{user}}</a>
                    <a id="logOut" href="../logout">log out</a>
                </div>
            </header>
        </hgroup>

        {{view App.breadcrumbsView}}
    </div>
</script>


我想在上面的模板中加载下一个模板:

<script type="text/x-handlebars" id="breadcrumbs">
    <div id="breadcrumbs">
        <p>
            <a href="{{breadcrumbObj.page}}">Network</a>

            {{#each breadcrumbObj}}
                <span>&#62;</span><a {{bindAttr href="link"}}>{{name}}</a>
            {{/each}}
        </p>
    </div>
</script>


现在,我正在尝试使用来自app.js的这段代码来完成此操作

App.breadcrumbsView = Ember.View.create({
  templateName: 'breadcrumbs',
  breadcrumbObj: Util.breadcrumbs()
});


这不起作用,并且我遇到了未捕获的错误:断言失败:无法在路径“ App.breadcrumbsView”中找到视图

谢谢

最佳答案

我认为您使用App关键字声明了var。因此它在车把模板中不可见。

改变这个

var App = Ember.Application.create();


对此

App = Ember.Application.create();


创建视图时,必须使用extend而不是create。因为ember将处理对象的生命周期,例如:创建,销毁,添加和删除绑定等。

关于javascript - 使用ember.js创建复杂的静态标记,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18151850/

10-10 00:14
查看更多