0

有一个简单的 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 应用程序中。你能帮我在红框内只显示一次应用程序视图吗?

4

1 回答 1

3

使用路由器时,默认使用applicationController/view。在您准备好的方法中,您明确地附加它。所以“应用程序”模板被附加了两次。删除在 ready 方法中附加它,它只会被附加一次。

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

Ember.Application.create( {
    rootElement : '.content',
    ....
})
于 2012-07-25T16:00:24.337 回答