我有以下 ViewState 定义:
App.LoggedIn = Ember.ViewState.create({
view: App.TopbarView.extend({
elementId: 'topbar'
}),
无论如何我可以指定我希望将此视图附加到带有 topbar id 的元素吗?
我唯一能找到的是在输入处理程序中设置创建视图。
我有以下 ViewState 定义:
App.LoggedIn = Ember.ViewState.create({
view: App.TopbarView.extend({
elementId: 'topbar'
}),
无论如何我可以指定我希望将此视图附加到带有 topbar id 的元素吗?
我唯一能找到的是在输入处理程序中设置创建视图。
大概您将在 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 元素并将视图附加到它。说得通?
您需要传递 View 的实例而不是“view”属性的类。尝试这个
App.LoggedIn = Ember.ViewState.create({
view: App.TopbarView.create({
elementId: 'topbar'
})