vue 基础 组件通信1

App.vue

<template>
    <div>
        <h3>父组件</h3>
        <p>当前的 num 值:{{ num }}</p>
        <!-- 通过 @increment 监听子组件的 "increment" 事件 -->
        <child-component @increment="numplus" />
    </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
    components: {
        ChildComponent
    },
    data() {
        return {
            num: 0
        }
    },
     methods:{
         numplus() {
             this.num++;
         }
        }
    
}
</script>

ChildComponent.vue

<template>
    <div>
        <button @click="increment">增加父组件的num</button>
    </div>
</template>

<script>
export default {
    methods: {
        increment() {
            // 触发自定义事件 "increment"
            this.$emit('increment');
        }
    }
}
</script>
创建子组件

1首先要引入组件

2注册组件

3,拿注册的组件当标签在template中div盒子中使用

子组件当中

html 复制代码
<template>
    <div>
        <button @click="increment">增加父组件的num</button>
    </div>
</template>
javascript 复制代码
export default {
    methods: {
        increment() {
            // 触发自定义事件 "increment"
            this.$emit('increment');
        }
    }
}

this.$emit('increment');用于与父组件进行通信。

父组件当中

html 复制代码
<child-component @increment="numplus" />

子组件当中的button点击 就会触发

相关推荐
工业互联网专业9 小时前
Python毕业设计选题:基于python的酒店推荐系统_django+hadoop
hadoop·python·django·vue·毕业设计·源码·课程设计
真的很上进1 天前
如何借助 Babel+TS+ESLint 构建现代 JS 工程环境?
java·前端·javascript·css·react.js·vue·html
龙哥·三年风水1 天前
workman服务端开发模式-应用开发-vue-element-admin封装websocket
分布式·websocket·vue
麦兜*1 天前
轮播图带详情插件、uniApp插件
前端·javascript·uni-app·vue
veminhe1 天前
uni-app使用组件button遇到的问题
uni-app·vue
cronaldo912 天前
研发效能DevOps: Vite 使用 Element Plus
vue.js·vue·devops
yg_小小程序员2 天前
vue3中使用vuedraggable实现拖拽
typescript·vue
川石教育2 天前
Vue前端开发-缓存优化
前端·javascript·vue.js·缓存·前端框架·vue·数据缓存
漫天转悠3 天前
VScode中配置ESlint+Prettier详细步骤(图文详情)
vscode·vue
落魄实习生3 天前
AI应用-本地模型实现AI生成PPT(简易版)
python·ai·vue·ppt