2015-06-17 115 views
0

我想將參數傳遞給模板助手。該參數似乎已通過,但我不能像我想的那樣使用它。將參數傳遞給流星模板助手

我傳遞參數是這樣的:在/client/lib/helpers.js

{{#if unitFieldExists 'profile'}} 
    {{profile}} 
{{/}} 

助手

Template.registerHelper('unitFieldExists', function(unitField) { 
var doc = Units.findOne({_id: this._id }, { unitField : {$exists: true} }); 

// console tests 
console.log(unitField); // Outputs profile 
console.log(doc); // Outputs document object 

// unitfield if of type string 
console.log(typeof unitField + " " + unitField); // string 

if (doc.unitField) { 
    return true; 
} else { 
    return false; 
} 
}); 

我想實現是返回真到了#如果如果該文件包含通過的字段。我可能過於複雜的事情,但我仍然在學習。

回答

2

您無法使用#if中的參數調用幫助器。

我假設模板實例的數據上下文是Unit文檔,因爲您使用了this._id。如果是這樣,可以做;

{{#if profile}} 
    {{profile}} 
{{/if}} 

#if檢查其參數是否爲真。

+0

哦,那真是令人尷尬......過了幾千倍就複雜了。非常感謝你! –

+0

沒問題。隨時接受我的答案,以便我可以有一些互聯網點。 –

相關問題