jade mixin 相对于普通功能的优势?

advantages of jade mixin over plain functions?

玩了一段时间 jade 之后,我仍然无法理解 jade mixin 相对于普通 javascript 函数的优势。然而,我发现了一个缺点:我无法找到一种方法来将 mixin 分配给变量然后间接调用它(我知道 jade_mixins[name_of_mixin] 的 hack 但它不可靠,实现-依赖和丑陋)

所以我的问题是:

1) 是否可以将mixin分配给variable/property然后间接调用它?

2) 除了声明头中的语法糖之外,mixin 是否比函数有任何优势?

是的,您可以使用正常的 #{..} 插值语法来动态调用 mixin。

div
  +#{templateName}(templateArgument)

jade mixins 作为函数实现的事实是一个实现细节。人们可以在不知道 javascript 的情况下使用 jade 和 jade-mixins - 因此语法糖可能对模板作者有帮助,他们将 jade 视为 html 的替代语法(而不是 javascript基于模板系统)。