http://jsfiddle.net/lily/9w5QU/3/什麼是多級嵌套視圖的最佳解決方案?
我想顯示第一級內容,同時不斷添加其他視圖INSIDE第一級。這將是多層次的。現在代碼不是嵌套視圖。
如果我對第一級使用CONTAINERVIEW,那麼它的內容將不會顯示,如果我使用VIEW,那麼我不能添加另一個視圖,或者我不知道如何添加它而不使用手柄欄模板。
是Ember.js擅長管理多層嵌套視圖?
http://jsfiddle.net/lily/9w5QU/3/什麼是多級嵌套視圖的最佳解決方案?
我想顯示第一級內容,同時不斷添加其他視圖INSIDE第一級。這將是多層次的。現在代碼不是嵌套視圖。
如果我對第一級使用CONTAINERVIEW,那麼它的內容將不會顯示,如果我使用VIEW,那麼我不能添加另一個視圖,或者我不知道如何添加它而不使用手柄欄模板。
是Ember.js擅長管理多層嵌套視圖?
我修改了您的示例,顯示了多級嵌套視圖。
window.App = Ember.Application.create()
App.FirstLevelView = Ember.View.create
tagName: 'div'
classNames: ['box']
name: 'first level container'
template: Ember.Handlebars.compile '{{name}} {{view secondView}}'
secondView: Ember.View.extend
tagName: 'div'
classNames: ['box']
name: 'second level container should go inside first level container'
template: Ember.Handlebars.compile '{{name}} {{view thirdView}}'
thirdView: Ember.View.extend
tagName: 'div'
classNames: ['box']
name: 'third level view goes inside second'
template: Ember.Handlebars.compile '{{name}}'
App.FirstLevelView.append()
不過如果你不能得到你的父視圖中嵌套的視圖,你可能做到這一點,
window.App = Ember.Application.create()
App.ApplicationController = Ember.ObjectController.create()
App.FirstLevelController = Ember.ObjectController.create()
App.FirstLevelView = Em.View.create
tagName: 'div'
classNames: ['box']
name: 'first level container'
template: Em.Handlebars.compile("{{name}}{{view controllers.applicationController.view.secondView}}")
secondView: Em.View.extend
tagName: 'div'
classNames: ['box']
name: 'The second level container should go inside first level container'
template: Ember.Handlebars.compile 'Hey Khajan!! {{name}}'
App.FirstLevelView.append()
添加一些解釋,這將是一個更好的答案。 – ChrisF 2013-03-02 12:24:24
這將有助於更多地瞭解你正在嘗試專門完成 – ebryn 2012-03-06 03:16:31
什麼爲了構建一個單頁面應用程序,需要頁眉,頁腳和內容,但在每個應用程序中,還有其他子元素。所以有多層次的嵌套視圖需要渲染和綁定的燼對象。我試圖找到一個解決方案,這對管理子視圖比較好,比如ContainerView,可以添加,刪除子視圖。但同時希望顯示視圖本身。因爲即使在頁腳,標題級別,也有一定的模板需要渲染。 – lilyfrommars 2012-03-06 18:37:36