Vue父子组件传值的方法[通俗易懂]

Vue父子组件传值的方法[通俗易懂]1.父向子传值props父组件:<child:inputName="name">子组件:(1)props:{   inputName:String,   required:true  }(2)props:["inputName"]2.子组件向父组件传值$emit子组件: <span>{{childValue}}</s…

大家好,又见面了,我是你们的朋友全栈君。

1.父向子传值props

父组件:<child :inputName=”name”>

子组件:

(1)props: {

   inputName: String,

   required: true

  }

(2)props: [“inputName”]

2.子组件向父组件传值$emit

子组件:

 <span>{
{childValue}}</span>

 <!– 定义一个子组件传值的方法 –>

  <input type=”button” value=”点击触发” @click=”childClick”>

 export default {

  data () {

   return {

    childValue: ‘我是子组件的数据’

   }

  },

  methods: {

   childClick () {  

    this.$emit(‘childByValue’, this.childValue)

   }

  }

 }

父组件

<!– 引入子组件 定义一个on的方法监听子组件的状态–>

<child v-on:childByValue=”childByValue”></child>

methods: {

   childByValue: function (childValue) {

    // childValue就是子组件传过来的值

    this.name = childValue

   }

  }

}

3.父组件调用子组件的方法通过ref

在DOM元素上使用$refs可以迅速进行dom定位,类似于$(“selectId”)

使用this.$refs.paramsName能更快的获取操作子组件属性值或函数

子组件:

methods:{

childMethods() {

        alert(“I am child’s methods”)

}

}

父组件: 在子组件中加上ref即可通过this.$refs.method调用

<template>

  <div @click=”parentMethod”>

    <children ref=”c1″></children>

  </div>

</template>

<script>

  import children from ‘components/children/children.vue’

  export default {

    data(){

      return {

      }

    },

    computed: {

    },

    components: {      

      ‘children’: children

    },

    methods:{

      parentMethod() {

        console.log(this.$refs.c1) //返回的是一个vue对象,可以看到所有添加ref属性的元素

        this.$refs.c1.childMethods();

      }

    },

    created(){

    }

  }

</script>

4.可以通过$parent和$children获取父子组件的参数

我们可以使用$children[i].paramsName 来获取某个子组件的属性值或函数,$children返回的是一个子组件数组

Vue父子组件传值的方法[通俗易懂]

那么子组件怎么获取修改父组件的数据内容?这需要使用$parent

Vue父子组件传值的方法[通俗易懂]

Vue父子组件传值的方法[通俗易懂]

5.vue 全局事件(eventBus)

在main.js里:window.eventBus = new Vue();//注册全局事件对象

在文件列表里 <span >{
{ item }}<button @click=”down(item)”>下载</button></span>

Vue父子组件传值的方法[通俗易懂]

另一组件的监听

Vue父子组件传值的方法[通俗易懂]

6.兄弟之间的传值Vuex

在state里定义数据和属性

在 mutations里定义函数fn,在页面通过

this.$store.commit(‘fn’,params)来触发函数,Vuex在这里不做详细介绍了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145206.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • (转)DeviceIOControl详解[通俗易懂]

    (转)DeviceIOControl详解[通俗易懂]http://blog.csdn.net/gis_wudi/article/details/6639739DeviceIoControl这个api我们用的不多,但是很重要,有时会帮助我们实现一些特别

    2022年7月3日
    76
  • mysql如何批量添加数据_mysql如何批量insert数据

    mysql如何批量添加数据_mysql如何批量insert数据mysql批量insert数据的方法:1、循环插入;2、减少连接资源,拼接一条sql;3、使用存储过程;4、使用【MYSQLLOCAL_INFILE】。本教程操作环境:windows7系统、mysql8.0.22版,该方法适用于所有品牌电脑。mysql批量insert数据的方法:方法一:循环插入这个也是最普通的方式,如果数据量不是很大,可以使用,但是每次都要消耗连接数据库的资源。大致思维如下(我…

    2025年8月12日
    2
  • 微表情识别

    表情识别2019.12更新了仓库依赖。简介使用卷积神经网络构建整个系统,在尝试了Gabor、LBP等传统人脸特征提取方式基础上,深度模型效果显著。在FER2013、JAFFE和CK+三个表情识别数据集上进行模型评估。环境部署基于Python3和Keras2(TensorFlow后端),具体依赖安装如下(推荐使用conda或者venv虚拟环境)gitclonehttp…

    2022年4月9日
    60
  • Activiti工作流框架学习笔记(一)「建议收藏」

    Activiti工作流框架学习笔记(一)「建议收藏」工作流的概念先看下面两张图:对以上两张图进行说明:假设这两张图就是华谊兄弟的请假流程图图的组成部分:人物:范冰冰、冯小刚、王中军事件(动作):请假、批准、不批准通过以上分析我们就可以抽象成:接下来给出工作流的书面化概念:工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、

    2022年10月6日
    3
  • Git创建远程分支并提交代码到远程分支「建议收藏」

    Git创建远程分支并提交代码到远程分支「建议收藏」1、可以通过gitbranch-r命令查看远端库的分支情况如图所示,远程仓库只有一个master分支2、从已有的分支创建新的分支(如从master分支),创建一个dev分支但此时并没有在远程仓库上创建分支如图所示还是只有一个master分支3、建立本地到远端仓库的链接–这样代码才能提交上去使用命令行gitpush–set-…

    2022年6月30日
    27
  • 星愿浏览器有什么优点_星愿浏览器插件

    星愿浏览器有什么优点_星愿浏览器插件目的:想基于浏览器进程抓包,但是想获得噪声相对小的数据,则找相对ChromeGoogle等主流browser更简单的浏览器;想使用Google的某个扩展程序,所以找基于Chrome内核的浏览器所以,我要找基于Chrome内核的简单浏览器最后找到了这几个符合条件的浏览器:星愿、百分cent、Vival、Brave星愿优点:星愿的主页面具有相当的自主性,可以自由拖动添加图标和更换背景、搜索框等。其主页有个搜索漫画的功能,好像在看漫画这一块做了一些页面优化。缺点:只能在它提供的星愿商店里下扩.

    2025年6月11日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号