如何在emberjs中进行这种模板化?

时间:2014-10-16 14:37:56

标签: ember.js

我有一个应用程序模板,在分区标记中包含一个插座,还包括一些其他标签,如页眉,页脚等。当我根据posts路径生成时,插座会被使用它使用PostsController。然后使用帖子模板填写页面。但是,当我导航到主路线/时,#main部分为空白。

<header>My header</header>

<section id='main'>
  {{ outlet }}
</section>

<footer>My footer</footer>

当我在家中路线时,我想使用该插座显示某些内容,但是当我导航到帖子时,请将该插座填充其他内容(如帖子模板)。我尝试过添加以下内容:

{{#if isRoot}}
  lorem ipsum
{{/if}}

然后将其添加到applicationController

App.ApplicationController = Ember.Controller.extend({
  isRoot: true
})

但即使我导航到posts仍然是真的(据我所知,因为其他控制器嵌套在应用程序控制器中)。什么是解决这个问题的惯用方法?

1 个答案:

答案 0 :(得分:0)

为此确切问题创建了索引路由。当你点击一个端点并且没有更深的时候使用它,允许你在你到达那个端点时展示一些东西。

App.IndexRoute = Em.Route.extend({
  // you can return a different model, or just use the application's model
});


<script type="text/x-handlebars" data-template-name="index">
  I'm only at the root of my app!
</script>