2012-03-06 4 views
2

http://jsfiddle.net/lily/9w5QU/3/다중 레벨 중첩보기에 가장 적합한 솔루션은 무엇입니까?

첫 번째 레벨의 다른보기를 계속 추가하면서 첫 번째 레벨의 콘텐츠를 표시하려고합니다. 그것 같이 다층 깊이 일 것입니다. 지금 코드는 중첩 된 뷰가 아닙니다.

첫 번째 수준에서 CONTAINERVIEW를 사용하면 VIEW를 사용하면 다른보기를 추가 할 수 없거나 핸들 막대 템플릿을 사용하지 않고 내용을 추가하는 방법을 알 수 없습니다.

은 Ember.js가 다중 레벨 중첩 뷰를 관리하는 데 적합합니까?

+1

단일 페이지 응용 프로그램을 제작하려면 머리글, 바닥 글 및 내용이 필요하지만 각 요소에는 다른 하위 요소가 있어야합니다. 멀티 레벨 중첩 된 뷰는 렌더링과 엠버 객체와의 바인딩이 필요합니다. ContainerView와 같은 하위 뷰 관리에 더 효과적인 솔루션을 찾으려고 시도합니다. 하위 뷰를 추가하고 삭제할 수 있습니다. 동시에보기 자체를 표시하려고합니다. 꼬리말, 머리말 수준에서조차 특정 템플렛이 필요하다 렌더링하기 때문에. – ebryn

+0

을 달성하려고하는지에 대한 자세한 내용을 알고 도움이 될 – lilyfrommars

답변

1

다단계 중첩보기를 보여주는 예제를 수정했습니다. 당신은, 당신은이 작업을 수행 할 수 있습니다 부모 뷰에 중첩 된 뷰를 얻을 수없는 경우 아직

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() 
0

,

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() 
그것은 당신이 특별히
+0

이것이 무엇을하는지에 대한 설명을 추가하면 더 나은 대답이 될 것입니다. – ChrisF

관련 문제