2014-03-31 42 views
4

我在Meteor 0.8.0上收到Iron Router 0.7.0的錯誤。未捕獲的錯誤:在渲染的組件樹中找不到佈局組件

在中閃耀佈局的layout.js的UI.Compenent.lookup功能,下面的錯誤觸發:

Uncaught Error: Couldn't find a Layout component in the rendered component tree

很難知道究竟是什麼原因造成這個錯誤的,什麼是不工作,因爲的。有任何想法嗎?

在此先感謝。

+1

確保您的收益率是正確的。而不是'{{yield'title'}}'你現在應該有'{{> yield region ='title'}}'。 –

+0

您是否重寫路由器的渲染或直接使用佈局模板? – cmather

+0

感謝您的建議。我沒有任何命名的產量,所以我檢查以確保所有其他模板命名正確。最終,我發現我的main.html不需要標記中的{{> yield}}。這是新的還是隻是沒有在以前的版本中引發錯誤? – CDoe

回答

9

我剛剛得到了同樣的錯誤,對我來說是因爲我的佈局模板包含在<body>之內,並將其指定爲layoutTemplate選項。爲了解決這個問題,我從<body>中刪除了包含。

這是我的代碼之前和之後;

example.html的(前)

<head> 
    <title>example</title> 
</head> 

<body> 
    {{>layout}} 
</body> 

<template name="layout"> 
    <div>{{>yield}}</div> 
</template> 

example.js(前)

if(Meteor.isClient) { 

Router.configure({ 
    layoutTemplate: 'layout' 
}); 

} 

example.html的(後)

<head> 
    <title>example</title> 
</head> 

<body> 
</body> 

<template name="layout"> 
    <div>{{>yield}}</div> 
</template> 

example.js(後 - 與之前一樣)