这是代码片段:
{@math key="{@size key=result/}"method="subtract"operand="3"/}
上面的代码抛出“SyntaxError: Expected end tag for eq but it was not find.”。
在dustjs中还有其他方法可以实现上述操作吗?
最佳答案
Dust 不允许使用辅助函数作为传递参数的值。
一般来说,一旦您开始必须嵌套助手,您应该询问是否在模板中而不是上下文中放入了太多逻辑 - 这就是 Dust 试图通过相对较强的限制来强制执行的内容。
您可以使用context helper将此逻辑从模板中提取出来,如下所示:
{#overflow key=results}...and {.} more!{/overflow}
注意逻辑是如何从模板中删除的。现在您不再需要内联硬编码业务规则。
将 overflow
助手添加到您的上下文中:
{
"results": [ ... ],
"overflow": function(chunk, context, bodies, params) {
var results = context.resolve(params.key);
return results.length - 3;
}
}
关于dust.js - {@size} 辅助函数可以在灰尘中的 {@math} 辅助函数内部使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31401837/