仅针对一条路线清除整页内容

时间:2014-01-03 12:16:12

标签: ember.js ember-router

我使用以下概念构建了一个ember应用程序。

<script type="text/x-handlebars">
    <h2>Welcome to Ember.js</h2>

    {{outlet}}
  </script>

因此,在每个路线中,插座都将通过模板的html放置。但是现在我已经有了创建另一条路径的请求,这些路线具有完全不同的内容,甚至需要从上面清除<h2>Welcome to Ember.js</h2>。我怀疑我是否可以直接实现这一点。但我可以做一些调整以使其有效吗?

2 个答案:

答案 0 :(得分:0)

你需要制作嵌套路线。 如

  

this.resource( '产品');

this.resource('product', { path: '/products/:title' } );

让我们说产品模板,您必须{[outlet}} 产品模板。 这使您可以以不同方式操纵hbs.ses。让我们说一下产品模板产品旁边的列表。

> 
>script type='text/x-handlebars' data-template-name='product' >

      {{title}}
    <p>{{description}}</p>
 <p>Buy for ${{price}}</p> </script>



<script type='text/x-handlebars' data-template-name='products'>
{{#each}}
{{#link-to 'product' this classNames='list-group-item'}}
{{title}}
{{/link-to}}
{{/each}}   
{{outlet}}
</script>

答案 1 :(得分:0)

App.Router.map(function(){
    this.resource("header", function(){
        this.resource("normalroute1");
        this.resource("normalroute2");
        ...
    });
    this.resource("specialroute");
});


<script data-template-name='header' type="text/x-handlebars">
    <h2>Welcome to Ember.js</h2>
    {{outlet}}
</script>

像这样构建项目,并在不希望显示标题的情况下使用“specialroute”。