这是我想要完成的任务的精简版本:
mixin foo(bar)
= bar + ".html"
a(href= +foo("baz")) test
我希望将锚标记编译为<a href="baz.html">test</a>
,但我得到的是类型错误,foo
不是一个函数。虽然我确实看到它在技术上不是一个函数,但这不是 mixin 有用的场景吗?我在哈巴狗文档中搜索了与我类似的用例场景,但没有成功。
我想通过 mixins 实现的目标是可能的吗?或者这只能通过作为上下文变量传递的常规 JS 函数来实现?
我认为你想为此使用无缓冲的 Javascript。对于您的用例,代码将如下所示。
-
function foo(bar) {
return bar + ".html";
}
a(href=foo("baz")) test
这将产生以下 HTML:
<a href="baz.html">test</a>
解释
无缓冲的 Javascript 是模板逻辑,不会在最终结果中发出。无缓冲的 Javascript 用破折号注释(-
)。多行无缓冲 Javascript 由带有单个制表符缩进的破折号定义。
单线
-var foo = "bar";
多线
-
function randomNumber() {
return 4;
}
文档:https://pugjs.org/language/code.html https://pugjs.org/language/code.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)