Vue 父子组件、组件间通信

发布时间 - 2026-01-11 00:04:24    点击率:

本人对Vue组件间通信不懂,搜索了很多关于Vue 父子组件间通信介绍,下面我来记录一下,有需要了解Vue 父子组件、组件间通信的朋友可参考。希望此文章对各位有所帮助。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>组件</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="apple-mobile-web-app-status-bar-style" content="black">
  <script src="../js/Vue.js"></script>
  <script>
    window.onload = function(){
      var vm = new Vue({
        el:'#box',
        data:{},
        components:{
          aaa:{
            template:'<h2>这是aaa组件<bbb></bbb></h2>',
            components:{
              bbb:{
                template:'<h2>这是bbb组件</h2>'
              }
            }
          }
        }
      });
    }
  </script>
</head>
<body>
<div id="box">
  <aaa></aaa>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script src="../js/vue1.0.js"></script>
  <script>
    //子组件获取父组件的值
    window.onload = function () {
      var vm = new Vue({
        el: '#box',
        data: {
          a: 'aaa'
        },
        components: {
          'aaa': {
            data(){
              return {
                msg: 111,
                msg2: '这是父组件的数据'
              }
            },
            template: '#aaa',
            components: {
              'bbb': {
                //html中的my-msg这种形式,js中应该采用驼峰命名myMsg
                props: ['mmm', 'myMsg'],
                template: '<h3>我是bbb组件->{{mmm}}<br>{{myMsg}}</h3>'
              }
            }
          }
        }
      });
    }
  </script>
</head>
<body>
<div id="box">
  <aaa>
  </aaa>
</div>

<template id="aaa">
  <h1>11111</h1>
  <bbb :mmm="msg2" :my-msg="msg"></bbb>
</template>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script src="../js/vue1.0.js"></script>
  <script>
    //子组件获取父组件的值
    window.onload = function () {
      var vm = new Vue({
        el: '#box',
        data: {
          a: 'aaa'
        },
        components: {
          'aaa': {
            data(){
              return {
                msg: 111,
                msg2: '这是父组件的数据'
              }
            },
            template: '#aaa',
            components: {
              'bbb': {
                //html中的my-msg这种形式,js中应该采用驼峰命名myMsg
                props: ['mmm', 'myMsg'],
                template: '<h3>我是bbb组件->{{mmm}}<br>{{myMsg}}</h3>'
              }
            }
          }
        }
      });
    }
  </script>
</head>
<body>
<div id="box">
  <aaa>
  </aaa>
</div>

<template id="aaa">
  <h1>11111</h1>
  <bbb :mmm="msg2" :my-msg="msg"></bbb>
</template>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>父组件获取子组件的值</title>
  <script src="../js/vue1.0.js"></script>
  <script>
    //父组件获取子组件的值
    window.onload = function () {
      var vm = new Vue({
        el:'#box',
        data:{
          a:'aaa'
        },
        components:{
          'aaa':{
            data(){
              return {
                msg:111,
                msg2:'我是父组件的数据'
              }
            },
            template:'#aaa',
            methods:{
              get(msg){
                this.msg = msg;
              }
            },
            components:{
              'bbb':{
                data(){
                  return {
                    a:'我是子组件的数据'
                  }
                },
                template:'#bbb',
                methods:{
                  send(){
                    this.$emit('child-msg',this.a);
                  }
                }
              }
            }
          }
        }
      });
    }
  </script>
</head>
<body>
<div id="box">
  <aaa></aaa>
</div>
<template id="aaa">
  <span>我是父级 -》 {{msg}}</span>
  <bbb @child-msg="get"></bbb>
</template>
<template id="bbb">
  <h3>子组件</h3>
  <input type="button" value="send" @click="send" />
</template>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# vue2  # 父子组件通信  # vuejs  # vue父子组件通信  # Vue.js每天必学之组件与组件间的通信  # Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)  # vue2.0组件之间传值、通信的多种方式(干货)  # vue组件间通信六种方式(总结篇)  # 详解Vue组件之间的数据通信实例  # vue实现的组件兄弟间通信功能示例  # vue2.0父子组件间通信的实现方法  # 详解Vue2中组件间通信的解决全方案  # vue组件之间通信实例总结(点赞功能)  # Vue组件之间的通信方式(推荐!)  # 我是  # 这是  # 我来  # 不懂  # 人对  # 大家多多  # scale  # initial  # maximum  # device  # viewport  # title  # width  # content  # user  # status  # capable  # style  # bar  # app 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  网站制作报价单模板图片,小松挖机官方网站报价?  php 三元运算符实例详细介绍  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  如何用JavaScript实现文本编辑器_光标和选区怎么处理  如何在云主机上快速搭建网站?  如何在云指建站中生成FTP站点?  Laravel中的Facade(门面)到底是什么原理  如何用好域名打造高点击率的自主建站?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  iOS验证手机号的正则表达式  浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  Python图片处理进阶教程_Pillow滤镜与图像增强  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  如何用搬瓦工VPS快速搭建个人网站?  如何基于云服务器快速搭建网站及云盘系统?  JavaScript如何实现倒计时_时间函数如何精确控制  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  Laravel如何发送系统通知?(Notification渠道示例)  5种Android数据存储方式汇总  简历没回改:利用AI润色让你的文字更专业  如何确保西部建站助手FTP传输的安全性?  Java垃圾回收器的方法和原理总结  如何快速搭建自助建站会员专属系统?  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  使用C语言编写圣诞表白程序  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  网站图片在线制作软件,怎么在图片上做链接?  Laravel如何实现API资源集合?(Resource Collection教程)  如何在 Pandas 中基于一列条件计算另一列的分组均值  如何在建站之星绑定自定义域名?  Laravel怎么为数据库表字段添加索引以优化查询  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  JS中对数组元素进行增删改移的方法总结  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  Laravel怎么实现模型属性的自动加密  百度浏览器如何管理插件 百度浏览器插件管理方法  WordPress 子目录安装中正确处理脚本路径的完整指南  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  JavaScript模板引擎Template.js使用详解