2
從this page,我插入我的/client/helpers/handlebars.js文件時,此車把幫手:Meteor.js把手模板邏輯運算符
Handlebars.registerHelper('compare', function (lvalue, operator, rvalue, options) {
var operators, result;
if (arguments.length < 3) {
throw new Error("Handlerbars Helper 'compare' needs 2 parameters");
}
if (options === undefined) {
options = rvalue;
rvalue = operator;
operator = "===";
}
operators = {
'==': function (l, r) { return l == r; },
'===': function (l, r) { return l === r; },
'!=': function (l, r) { return l != r; },
'!==': function (l, r) { return l !== r; },
'<': function (l, r) { return l < r; },
'>': function (l, r) { return l > r; },
'<=': function (l, r) { return l <= r; },
'>=': function (l, r) { return l >= r; },
'typeof': function (l, r) { return typeof l == r; }
};
if (!operators[operator]) {
throw new Error("Handlerbars Helper 'compare' doesn't know the operator " + operator);
}
result = operators[operator](lvalue, rvalue);
if (result) {
return options.fn(this);
} else {
return options.inverse(this);
}
});
而且到模板:
{{#compare "Test" "Test"}}
Default comparison of "==="
{{/compare}}
而且在控制檯我總是看到:異常從Deps重新計算:錯誤:Handlerbars助手'比較'需要2個參數
我也試過這個:
{{#compare "Test" "==" "Test"}}
但是這並沒有幫助。
或許代碼段有幾個問題。看看在https://github.com/raix/Meteor-handlebar-helpers的智能包,它也有一些額外的功能,這真的很酷:) – Akshat
好吧,我會看看它。但它非常奇怪的代碼不起作用是不是?或者你嘗試過嗎? – EnchanterIO
我試過你的包裹。它運作良好thx。 – EnchanterIO