首页 > 其他分享 >Vue2-父子组件通信

Vue2-父子组件通信

时间:2025-01-12 22:43:26浏览次数:1  
标签:code console name 父子 Vue2 组件 data log

子组件

<template>
  <div>
    <el-form>
      <el-form-item label="码值">
        <el-input v-model="code" @input="sendFather"></el-input>
      </el-form-item>
      <el-form-item label="显示名称">
        <el-input v-model="name" @input="sendFather"></el-input>
      </el-form-item>
    </el-form>
  </div>
<script>
export default {
  name:"Child",
  props:{
    initSecondData:{
      type:Object,
      default:()=>{}
    }
  },
  data(){
    return{
      code:"",
      name:""
    }
  },
  watch:{
    initSecondData(newVal){
      console.log("第二个组件获取数据 => ",newVal);
      this.code = newVal.code + 100;
      this.name = newVal.name + "第二组件";
    }
  },
  methods:{
    sendFather(){
      console.log("child getData =>",this.getData());
      this.$emit('inputChange',this.getData())
    },
    getData(){
      return{
        code:this.code,
        name:this.name
      }
    }
  }
}
</script>
</template>

父组件

<template>
  <div>
    <p>father</p>
    <TestChild  @inputChange="getFirstData"></TestChild>
    <el-form label-width="80px" :model="fatherModel">
      <el-form-item label="名称">
        <el-input v-model="fatherModel.name"></el-input>
      </el-form-item>
      <el-form-item label="性别">
        <el-input v-model="fatherModel.sex"></el-input>
      </el-form-item>
      <el-form-item label="类型">
        <el-input v-model="fatherModel.type"></el-input>
      </el-form-item>
      <TestChild :initSecondData="initSecondData"></TestChild>
  </el-form>
  <el-button @click="submitForm">提交</el-button>
  </div>
</template>

<script>
import TestChild from "./TestChild.vue";
export default {
  name:"Father",
  components:{
    TestChild
  },
  data(){
    return{
      fatherModel:{
        name:"",
        sex:"",
        type:"",
        proCode:"",
        proName:"",
        prcCode:"",
        prcName:""
      },
      initSecondData:{

      }
    }
  },
  methods:{
    submitForm(){
      console.log("提交内容 => ",this.fatherModel);
    },
    getFirstData(data){
      let newData = {...data};
      this.initSecondData = newData;
      console.log("newData =>",newData);
      console.log("传值为data =>", data);
      this.fatherModel.proCode = data.code;
      this.fatherModel.proName = data.name;
    }  
  }
}
</script>

标签:code,console,name,父子,Vue2,组件,data,log
From: https://www.cnblogs.com/dragon-925/p/18667521

相关文章

  • uniapp开发app、h5和微信小程序,8大好用的组件库推荐
    文章目录**1.uViewUI****2.TDesign(腾讯出品)****3.VarletUI****4.thor-ui****5.ColorUI****6.NutUI****7.VantWeapp****8.GraceUI****推荐选择****总结**在使用uni-app开发App、H5和微信小程序时,选择合适的组件库可以显著提升开发效率和用户体验。......
  • Vue.js组件开发-如何使用moment.js
    在Vue.js组件开发中,需要处理日期和时间,moment.js是一个非常有用的库。moment.js提供了丰富的API来解析、验证、操作和显示日期和时间。步骤:1.安装moment.js首先,需要通过npm或yarn安装moment.js。在项目根目录下运行以下命令:npminstallmoment--save#或者yarnaddm......
  • Tkinter组件-Label标签组件
    label标签在GUI界面上,我们希望显示一些不可修改的内容,如在GUI界面下方写明版权、开发对应版本的信息。这个时候就需要使用Label标签。其内容不可修改。其不仅可以显示文字,也可以显示图像。接下来介绍以下该标签的常用属性:1、width、height:用于指定区域大小,如果显示的是......
  • Tkinter-Entry单行输入组件
    Entry在GUI界面下,有时需要输入一些内容供我们接受,例如在一个登录界面,我们可能需要接受用户输入的账号、密码以及验证码等信息,这个时候可以考虑使用Entry单行输入组件。Entry组件的常用属性Entry输入的值需要使用变量进行接受,Tkinter里面有以下四种:StringVar(),BooleanVa......
  • 【Flutter&Dart】tolyui_feedback组件例子效果(23 /100)
    上效果图有12种位置展示效果;很能满足大部分需要代码如下:import'package:flutter/material.dart';import'package:tolyui_feedback/tolyui_feedback.dart';classTolyTooltipDemoextendsStatelessWidget{constTolyTooltipDemo({super.key});@override......
  • Windows10下安装vue2.0项目所需环境
    一、Node.js版本管理器NVM安装1.下载NVM安装包        nvm全英文也叫node.jsversionmanagement,是一个nodejs的版本管理工具。nvm和n都是node.js版本管理工具,为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。目前最新版本v1.1.12......
  • 服务器组件端口开通方法及注意事项
    开通服务器组件端口是确保服务正常运行的关键步骤之一。无论是操作系统层面还是通过管理工具如宝塔面板,都需要遵循一定的流程来确保端口能够正确开放,并且不会带来安全隐患。以下是详细的开通方法和注意事项:操作系统层面开通端口:Windows服务器:打开“高级安全Windows防火墙”......
  • Vue2+OpenLayers调用WMTS服务初始化天地图示例
    目录一、案例截图二、安装OpenLayers库三、WMTS服务详解四、完整代码五、Gitee源码一、案例截图二、安装OpenLayers库npminstallol三、WMTS服务详解WMTS(WebMapTileService)是一种标准的网络地图服务协议,用于提供基于瓦片的地图数据。它允许客户端请求地图的具......
  • WiFi+4G摄像头拍照图传模块(夜视2K高清1080P)-关于参考资料,程序移植,新建调用自己的
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/product/audioCamera.html"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p> 关于参考资料......
  • Tkinter组件-Button按键
    Button按键Button简介在GUI图形界面中,用户需要有时候需要做一些确定的动作,例如播放视频,输入完账号密码后点击登录。这个时候需要就需要引入一个按钮(Button)供用户完成这个操作,在Tkinter内提供了Button方法,创建一个按钮。Button在Tkinter中的调用在Tkinter中,可以使用以......