我不知道爲什麼我的模板沒有在指定插座中呈現。這是我第一次嘗試學習燼,我被困在了指定的網點。Ember:指定插座出錯
我想呈現sidebarTemplate在{{outlet "sidebar"}}
和的ContentTemplate在{{outlet "content"}}
,但我不斷收到在控制檯以下錯誤:「錯誤在處理路線:帖子無法讀取屬性未定義‘connectOutlet’類型錯誤:無法讀取的未定義的屬性 'connectOutlet'」
這裏是一個小提琴我的代碼:http://jsfiddle.net/va71wwr9/
這裏是我的HTML:
<script type="text/x-handlebars">
<div class="nav-container">
<ul class="nav">
<li>{{#link-to 'home'}}Home{{/link-to}}</li>
<li>{{#link-to 'posts'}}Posts{{/link-to}}</li>
</ul>
</div>
{{outlet}}
</script>
<script type="text/x-handlebars" id="home">
<h1>Home screen</h1>
</script>
<script type="text/x-handlebars" id="posts">
<h1>Posts screen</h1>
<div class="sidebar-container">
{{outlet sidebar}}
</div>
<div class="content-container">
{{outlet content}}
</div>
</script>
<script type="text/x-handlebars" id="sidebarTemplate">
<p>Side bar stuff</p>
</script>
<script type="text/x-handlebars" id="contentTemplate">
<p>content stuff</p>
</script>
這裏是我的JavaScript:
var App = Ember.Application.create();
App.Router.map(function() {
this.resource('home', {path: '/'});
this.resource('home', {path: 'home'});
this.resource('posts', {path: 'posts'});
});
App.PostsRoute = Ember.Route.extend({
renderTemplate: function() {
this.render('sidebarTemplate', {
into: 'posts',
outlet: 'sidebar'
});
this.render('contentTemplate', {
into: 'posts',
outlet: 'content'
});
}
});
謝謝!!!!我遵循Ember文檔來渲染模板,我發現他們也沒有調用'this.render()'。有沒有更好的方式來構建我的代碼?以下是我參考的文檔頁面:http://emberjs.com/guides/routing/rendering-a-template/ – Mdd 2014-10-28 00:46:22
請記住,文檔不包含所有可能的方案。我編輯了我的答案來解釋一點。希望這可以幫助。 – MilkyWayJoe 2014-10-28 01:00:58
再次感謝您!我從Ember看到的東西給我留下了深刻的印象,但我現在正試圖與之合作。我希望我能給你更多的選票。 – Mdd 2014-10-28 01:06:08