2016-01-31 25 views
0

我已經運行到ReferenceError中,只發現我需要在isClient檢查中放置模板助手。我不明白爲什麼它不能放在通用的服務器/客戶端部分,爲什麼Isobuild會產生這樣的錯誤。作爲初學者,我想知道爲什麼「if (Meteor.isClient)」在這裏是絕對必要的?當不在客戶端部分時,流星助手會產生錯誤

leaderboard.js

if (Meteor.isClient){ 
Template.leaders.helpers({ 
    players: function() { 
     return "Result"; 
    } 
    }); 
} 

leaderboard.html

<head> 
    <title>Leaderboard</title> 
</head> 
<body> 
    <h1>Leaderboard</h1> 
    {{> leaders}} 
</body> 

<template name="leaders"> 
    {{players}} 
</template> 
+0

原始錯誤是ReferenceError:模板未定義。 – Vladimir

回答

0

在說明明顯的危險,模板不存在於服務器上。 Blaze目前僅供客戶使用。它不允許服務器端渲染(yet?)。

但請注意,在任何較大的項目中,無論如何您都會將您的客戶端代碼放在client/子文件夾中,並且您不需要再用if (Meteor.isClient)來保護該代碼。

+0

謝謝!我只希望Meteor錯誤代碼對於初學者更容易理解。 – Vladimir