Something like this should work:
layout.hbs
<div> <div class="header">Header Content</div> <div class="tab1"> Tab 1 Controls. <input type="text" id="common1" /> {{yield}} </div> <div class="tab2"> Tab 2 Controls. <input type="text" id="common2" /> {{view "view.secondView"}} </div> </div>
app.js
App.MyDoubleDeckerView = Ember.View.extend({ layoutName:"layout', templateName:"defaultTemplate", secondView: Ember.view.extend({ templateName: "defaultSecond" }) }); App.MyExtendedDoubleDecker = App.MyDoubleDeckerView({ templateName:"myTemplate", secondView: Ember.view.extend({ templateName: "mySecondTemplate" }); });
In other words, call the view given view.secondView from your template. Then set the secondView property to your class or subclass.
You can add some syntactic sugar with
App.viewForTemplateName = function(templateName) { return Ember.View.extend({ templateName: templateName }); };
Then, in your definitions above, do
secondView: App.viewForTemplateName('mySecondTemplate')
user663031
source share