gpt4 book ai didi

vue.js - 如何在 vue.js 中通过点击事件发出一个值

转载 作者:搜寻专家 更新时间:2023-10-30 22:12:27 24 4
gpt4 key购买 nike

我正在关注 Vuejs 文档并尝试通过点击事件发出一个值。

代码如下:

Vue 模板:

<div id="app">
<div class="container">
<div class="col-lg-offset-4 col-lg-4">
<sidebar v-on:incrementBtn="increment += $event"></sidebar>
<p>{{ increment }}</p>
</div>
</div>
</div>

Vue 实例:

    Vue.component('sidebar',{
template:`
<div>
<button class="btn btn-info" v-on:click="$emit('incrementBtn', 1)">Increment on click</button>
</div>
`,
});

new Vue ({
el:'#app',
data:{
increment:0
}
});

最佳答案

检查 Vue Custom Event ,Vue 始终建议使用 kebab-case 作为事件名称。

正如上面 Vue 指南所说:

Unlike components and props, event names don’t provide any automaticcase transformation. Instead, the name of an emitted event mustexactly match the name used to listen to that event.

Additionally, v-on event listeners inside DOM templates will beautomatically transformed to lowercase (due to HTML’scase-insensitivity), so v-on:myEvent would become v-on:myevent – making myEvent impossible to listen to.

Vue.component('sidebar',{
template:`
<div>
<button class="btn btn-info" v-on:click="$emit('increment-btn', 1)">Increment on click</button>
</div>
`
})

new Vue ({
el:'#app',
data () {
return {
increment:0
}
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js"></script>
<div id="app">
<div class="container">
<div class="col-lg-offset-4 col-lg-4">
<sidebar v-on:increment-btn="increment += $event"></sidebar>
<p>{{ increment }}</p>
</div>
</div>
</div>

关于vue.js - 如何在 vue.js 中通过点击事件发出一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50708772/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com