如何在 vue.js 中通过单击事件发出值 [英] how to emit a value with a click event in vue.js
问题描述
我正在关注 Vuejs 文档并尝试通过点击事件发出一个值.
代码如下:
Vue 模板:
<div class="容器"><div class="col-lg-offset-4 col-lg-4"><sidebar v-on:incrementBtn="increment += $event"></sidebar><p>{{增量}}</p>
Vue 实例:
Vue.component('sidebar',{模板:`<div><button class="btn btn-info" v-on:click="$emit('incrementBtn', 1)">点击增量</button>
`,});新的 Vue ({el:'#app',数据:{增量:0}});
检查 Vue 自定义事件,Vue 始终建议使用 kebab-case 作为事件名称.
如上 Vue 指南所述:
<块引用>与组件和道具不同,事件名称不提供任何自动案例转换.相反,发出的事件的名称必须与用于侦听该事件的名称完全匹配.
和
<块引用>此外,DOM 模板中的 v-on 事件侦听器将自动转换为小写(由于 HTML 的不区分大小写),所以 v-on:myEvent 会变成 v-on:myevent – 使 myEvent 无法监听.
Vue.component('sidebar',{模板:`<div><button class="btn btn-info" v-on:click="$emit('increment-btn', 1)">点击增量</button>
`})新的 Vue ({el:'#app',数据 () {返回 {增量:0}}})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js"></script><div id="应用程序"><div class="容器"><div class="col-lg-offset-4 col-lg-4"><sidebar v-on:increment-btn="increment += $event"></sidebar><p>{{增量}}</p>