[英]Pug / Jade : onClick call function and pass param
我想要的只是调用js函数并传递参数,
我已经尝试了以下答案,但是没有用
正如下面的Pug Github问题中所讨论的,
Event handlers like onclick can only be added through HTML or client-side JavaScript. This is not something Jade can help you with.
那么在Pug模板上添加onclick侦听器的最佳实践是什么?
我自己解决了: https : //github.com/pugjs/pug/issues/2933
a.postTitle(onclick=`viewPost(${JSON.stringify(file)})`)= file.name
然后,我可以在viewPost
函数中收到一个对象, 注意`符号
那么在Pug模板上添加onclick侦听器的最佳实践是什么?
根据我自己的经验,我建议将带有事件处理程序逻辑的script
标签添加到模板中,并声明onclick
而不带有任何反引号,重音符号,字符串插值标记:
`
字符串插值标记将因某些UglifyJs构建步骤而失败(通常在Prod配置中很常见):
this-will-${fail}-in-some-UglifyJs-versions
我的意思的示例如下所示:
// my template.pug
script
function myFunction(varA, varB){
// do something...
}
- var someVar = "this is a string, but the value could come from anywhere, really"
div(onclick='myFunction(' + '"' + someVar + '"' + ',' + '"' + someVar + '"' + ')')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.