如何在点击时执行多个事件?
How to execute multiple events on click?
我想单击按钮并执行这 2 个表达式。
但是我需要点击两次才能同时执行:
1.) 数据 = true 和 2.) 名称(数据)。为什么它不能在点击时执行?
<button @click="data = true,name(data)">
添加分号应在单击时执行两个表达式。
<button @click="data = true; name(data)">click me</button>
@AlexHunter 最好将此逻辑提取到处理函数中。类似下面的内容。
<button @click="handleClick">click me</button>
.....
// in your methods section
methods: {
handleClick() {
this.data = true
this.name(data)
}
}
如果 data
是您从 v-if
中访问的内容,您可以改为将其传递给处理程序,如下所示,
<button @click="handleClick(data)">click me</button>
.....
// in your methods section
methods: {
handleClick(data) {
// if data is false, return and don't call this.name()
if (!this.data) return
this.name(data)
}
}
在没有看到更多您的代码的情况下,我不确定您的确切用例是什么,尽管我觉得您可以进一步简化上述内容。
我想单击按钮并执行这 2 个表达式。
但是我需要点击两次才能同时执行:
1.) 数据 = true 和 2.) 名称(数据)。为什么它不能在点击时执行?
<button @click="data = true,name(data)">
添加分号应在单击时执行两个表达式。
<button @click="data = true; name(data)">click me</button>
@AlexHunter 最好将此逻辑提取到处理函数中。类似下面的内容。
<button @click="handleClick">click me</button>
.....
// in your methods section
methods: {
handleClick() {
this.data = true
this.name(data)
}
}
如果 data
是您从 v-if
中访问的内容,您可以改为将其传递给处理程序,如下所示,
<button @click="handleClick(data)">click me</button>
.....
// in your methods section
methods: {
handleClick(data) {
// if data is false, return and don't call this.name()
if (!this.data) return
this.name(data)
}
}
在没有看到更多您的代码的情况下,我不确定您的确切用例是什么,尽管我觉得您可以进一步简化上述内容。