【发布时间】:2019-12-10 15:35:14
【问题描述】:
我是vuetify 和vue 的新手,试图弄清楚如何处理<v-btn> 上的点击事件。 (使用vue 2.6.10 和vuetify 2.0.0)
(惊讶地发现在 vuetify 官方文档和谷歌搜索后,没有找到一个可以工作的代码 sn-p。)
代码
-
按钮
<v-btn color="primary" rounded @onclick.native="startQuiz">Start</v-btn> -
来自包含组件的
methods部分的处理程序方法。startQuiz() { console.log('start'); alert('start'); }
点击按钮后,浏览器看不到控制台输出,也没有弹出警告。
在浏览器的 vue 插件中,在 Events 子标签下,我可以看到以下事件:
click $emit by <VBtn>
问题
- 点击按钮时如何调用
startQuiz方法?
更新 - 总结
我检查了以下链接:
http://stackoverflow.com/questions/45369553/difference-from-click-and-v-onclick-vuejs
原来它只是v-on:click 的简写,而onclick 来自javascript,在vue 的上下文中无效。
【问题讨论】:
-
应该是
@click="startQuiz"。 -
只是为了确定。你试过
@onclick="startQuiz"或@click="startQuiz"吗? -
@EricWangyou 绝对应该查看事件修饰符以更好地理解它们。
@click.xxx对于防止默认操作或停止传播等非常有用... vuejs.org/v2/guide/events.html#Event-Modifiers -
不要使用
.native修饰符,除非您 100% 确定root element of the component broadcasts the event -
@TimWickstrom 我已经阅读了大部分事件修饰符,
.once修饰符在Start按钮上特别有用,谢谢。
标签: javascript vue.js vuejs2 vuetify.js