Ember.js ViewState不附加View

时间:2012-05-31 11:01:42

标签: javascript ember.js

我有以下ViewState定义:

App.LoggedIn = Ember.ViewState.create({
  view:  App.TopbarView.extend({
    elementId: 'topbar'
  }),

无论如何,我可以指定我希望将此视图附加到具有topbar id的元素吗?

我唯一能找到的是在enter处理程序中设置创建视图。

2 个答案:

答案 0 :(得分:0)

大概你会在StateManager中使用那个ViewState,对吗?

如果是这样,请将stateManager的rootElement设置为topbar,并在输入此状态时,此视图将附加到该元素。

例如:

App.loggedIn = Ember.ViewState.create({
    view: App.TopbarView
});

App.stateManager = Ember.StateManager.create({
    rootElement: 'topbar',
    loggedIn: App.loggedIn
});

如果您无法使用该路径,则可以修改视图状态的enter函数以查找topbar元素并将视图附加到该元素。有意义吗?

答案 1 :(得分:-1)

您需要传递View的实例而不是'view'属性的类。试试这个

App.LoggedIn = Ember.ViewState.create({
  view:  App.TopbarView.create({
  elementId: 'topbar'
})