我是玉的新手并坚持这个问题。我想我已经尝试了StackOverflow帖子中的所有内容,但仍然一无所获。
我尝试过的事情
button(type='button' class=' c-btn-blue c-btn-circle c-btn-uppercase' value="Read More" onclick='gotoBlog( #{val.link} )')
错误
1:8 Uncaught SyntaxError: Invalid or unexpected token
将其更改为!{val.link}
错误
Uncaught SyntaxError: Unexpected token .
将其更改为"!{val.link}"
和"#{val.link}"
只是让我理解这一点。 BTW val.link是一个字符串
只是给val.link说Uncaught ReferenceError: val is not defined
我现在没有选择。将不胜感激。
谢谢
答案 0 :(得分:6)
当向html元素添加属性时,您已经在pug的范围内,因此您可以使用像常规js变量这样的pug变量。
button(type='button' class=' c-btn-blue c-btn-circle c-btn-uppercase' value="Read More" onclick='gotoBlog(' + val.link + ')')
答案 1 :(得分:1)
使用不同的嵌套引号,以便将字符串传递给gotoBlog函数。在这里,我在双刻度内使用单个刻度。
button(type='button' class=' c-btn-blue c-btn-circle c-btn-uppercase' value="Read More" onclick="gotoBlog( '#{val.link}' )")
换句话说:
button( onclick= "myFunction('#{stringVariable}')" )
答案 2 :(得分:1)
我只是使用下面的代码,它对我有用(带引号和pos引号)
button(type='button', onclick='someFunction("'+ yourObject.id +'")' ) PressMe
答案 3 :(得分:0)
你只需要点击onclick =" myfunction(#{varible.atributo})"
这是一个例子:
table
thead
tr
th #ID
th Description
th Actions
tbody
each item, i in itemlist
tr
th(scope='row') #{item.id}
td #{item.description}
td
button(onclick="editItem(#{item.id})", title="Edit")
| Edit
答案 4 :(得分:0)
我遇到了类似的问题并且以不同的方式解决了它(通过逃避params)。
在我的情况下,我需要在单击按钮时将以下template values
传递给javascript函数作为参数
{
url:"http://google.com",
token: "Bearer your-token",
accountId: "abc123"
}
所以我案例中的pug
看起来如下
button(onclick='authenticate(\'' + url + '\',\'' + token + '\',\'' + accountId + '\')') Login
结果html如下
<button onclick="authenticate('http://google.com','Bearer your-token','abc123')">Login</button>
答案 5 :(得分:0)
在函数中使用多个参数时,可以达到目的:
'myFunction(' + '"' + varA + '"' + ',' + '"' + varB + '"' + ')'
注意:外部/内部/所有引号可以是'
(单引号)或"
(双引号),为了便于阅读,我使用了单引号和双引号。
答案 6 :(得分:0)
button(type ='button',onClick ='function(\''+ someValue +'\')')文本
这对我来说很有效,可以使用传递给pug的onClick函数中的值。
答案 7 :(得分:0)
为时已晚,我知道:(
但是,这可能很有用!
`${}`
所以代码将是
button(type='button' class=' c-btn-blue c-btn-circle c-btn-uppercase' value="Read More" onclick=`gotoBlog( ${val.link} )`)