Ember模板显示两次

时间:2012-07-25 15:42:38

标签: templates ember.js handlebars.js ember-old-router

有一个简单的ember.js应用程序,其中一个视图显示在网页的特定位置。看看这个jsfiddle:http://jsfiddle.net/jkkK3/9/

App = Ember.Application.create({

  ready: function(){
      this._super();
      this.ApplicationView.create().appendTo(".content");
  },

  ApplicationController: Ember.Controller.extend({
  }),

  ApplicationView: Ember.View.extend({
    templateName: 'application'
  }),

  Router: Ember.Router.extend({
    root: Ember.Route.extend({  
    })
  })
});

我的问题是:为什么“这里的一些内容”元素显示两次?当我删除路由器时,它工作,但这正是我不能做的,因为我尝试将路由器添加到我的Ember应用程序。你能帮我在红框内只显示一次应用程序视图吗?

1 个答案:

答案 0 :(得分:3)

使用路由器时,默认使用applicationController / view。在您的ready方法中,您可以显式附加它。所以'应用'模板会附加两次。删除将其附加到ready方法中,它将仅附加一次。

默认情况下,它附加到正文但是如果要覆盖使用Ember.Application的rootElement属性

Ember.Application.create( {
    rootElement : '.content',
    ....
})