如何使用Meteor模板助手功能组合保持DRY?

时间:2014-05-31 01:10:33

标签: javascript meteor dry spacebars function-composition

我想用我的模板保持DRY,所以我创造了一些惊人的可组合功能和助手,只是为了意识到Spacebars没有很好地发挥。

我有两个函数,它们都有两个参数:func(a,b)在Spacebars中变成{{func a b}}

目标是计算func2(func1(a,b), c)。我想Spacebars会查看每个能够理解{{func2 func1 a b c}}的函数和参数数量。这似乎并非如此。有什么想法吗?

1 个答案:

答案 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}}

相关问题