我正在尝试渲染我的应用程序模板,该模板变得非常复杂,因此我想将其拆分为单独的<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>></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/