我正在使用把手并创建我的视图。我已经从SO帖子中注册了if-else
条件的帮助,如下所示:
helpers.ifCond = function (v1, operator, v2, options) {
var cond = false;
switch(operator) {
case '!=':
cond = (v1 != v2); break;
case '==':
cond = (v1 == v2); break;
case '===':
cond = (v1 === v2); break;
case '<':
cond = (v1 < v2); break;
case '<=':
cond = (v1 <= v2); break;
case '>':
cond = (v1 > v2); break;
case '>=':
cond = (v1 >= v2); break;
case '&&':
cond = (v1 && v2); break;
case '||':
cond = (v1 || v2); break;
}
if(cond) {
return options.fn(this);
} else {
return options.inverse(this);
}
}
适用于单一条件,如
{{#ifCond this.total "!=" 0}}{{this.total}}{{else}}0{{/ifCond}}
但是当我将&&
包括在内时,
{{#ifCond this.total "!=" 0 '&&' this.total "!=" "null"}}
{{this.total}}
{{else}}
0
{{/ifCond}}
它引发了一个例外Error: Object && has no method 'fn'
。
无法理解为什么这会失败。有人可以赐教我吗?