我正在关注Vuejs文档,并try 使用click event发出一个值.

代码如下:

Vue Template:

<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 instances:

    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指南所说:

与组件和props 不同,事件名称不提供任何自动设置

此外,DOM模板中的v-on事件侦听器也将

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相关问答推荐

Nuxt3 Build . put文件夹保持空,没有从.nuxt复制任何内容

vue3 + pinia:如何从?store 中获取一个值

如何在 v-for 指令切换状态下安全地制作包含附加到对象的复选框的列表(W/O 切换列表中的其他复选框)?

Vuex Mutations 和 Airbnb eslint

使用 vuex 更新数据

如何在 Laravel 中包含 Bootstrap-Vue

为什么 Vue 路由/Webpack 开发服务器现在在页面刷新时显示无法获取/路径?

Vuetify v-select 组件宽度变化

Vue.js 如果在视图中

更新 vue.js 中的数据属性/对象

在 Vuejs 中计算 DOM 元素之间距离的最佳方法是什么?

从 Axios 响应中解析 XML,推送到 Vue 数据数组

从我的服务访问路由实例

如何异步验证 Vuetify 文本字段?

axios 拦截器响应未定义

try 通过 Vue.js 中的渲染传递props并观察它们

vue-cli-service build --target lib 导入为 lib 时丢失图像路径

如果我刷新我的网页,Vuex store是空的

Vue.js 3 - 替换/更新react性对象而不会失go react性

在 Vue 中使用事件修饰符 .prevent 提交表单而不进行重定向