我想用我的模板保持DRY,所以我创造了一些惊人的可组合功能和助手,只是为了意识到Spacebars没有很好地发挥。
我有两个函数,它们都有两个参数:func(a,b)
在Spacebars中变成{{func a b}}
。
目标是计算func2(func1(a,b), c)
。我想Spacebars会查看每个能够理解{{func2 func1 a b c}}
的函数和参数数量。这似乎并非如此。有什么想法吗?
答案 0 :(得分:1)
Javascript中没有参数的数量。您可以定义没有显式参数的函数:
var f = function() {
return arguments[0] + arguments[1] + arguments[2];
};
然后用你喜欢的参数调用它:
f(1,2,3,4,5,6,7,8);
由于Spacebars最终被翻译成Javascript,他们继承了这种行为。
遗憾的是,没有简单的方法可以实现您想要的目标。你需要更多的功能。可能最简单的解决方案是定义func2reverse
并使用相反的参数顺序调用它:{{func2reverse c func1 a b}}