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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 怎么设计高效的敏感词过滤系统(一)「建议收藏」

    怎么设计高效的敏感词过滤系统(一)「建议收藏」最近在做一个项目,寻遍了Node开源社区居然没有发现一个好用的敏感词过滤库,有那么几个库外观上看起来似乎还不错,用起来却一塌糊涂,震惊有余,失望至极。于是花了一天时间自己撸了一个库,库名叫fastscan,这是我的第一个Node开源项目,它也可以用于浏览器环境。fastscan基于广为人知的ahocorasick高性能字符串匹配算法。项目地址:https://github….

    2022年4月28日
    160
  • rpm 安装 忽略依赖_rpm卸载软件忽略循环依赖

    rpm 安装 忽略依赖_rpm卸载软件忽略循环依赖今天由于某些原因需要卸载掉服务器上的php软件,然后我使用下面命令显示出本机安装的所有和php相关的软件,如下:iteblog$rpm-qa|grepphpphp-mysqlnd-5.6.25-0.1.RC1.el6.remi.x86_64php-fpm-5.6.25-0.1.RC1.el6.remi.x86_64php-pecl-jsonc-1.3.10-1.el6.remi.5.6…

    2022年9月22日
    4
  • windows的server服务_windowsserver是什么

    windows的server服务_windowsserver是什么WindowsServerAppFabric正式发布

    2022年10月9日
    2
  • HTML转word_怎么把docx转换成word

    HTML转word_怎么把docx转换成word在做项目时,要将富文本编辑器,或是html内容导出为word。先引入文件保存js<scriptsrc=”FileSaver.js”></script>导出为Docxdocx体积更小,而且word2007也可以打开1.引用插件html-docx.js<scriptsrc=”html-docx.js”></script>2.构建完整的html内容文档varcontent='<!DOCTYPEhtml&gt

    2022年10月12日
    3
  • idea切换到远程分支_git看不到远程分支

    idea切换到远程分支_git看不到远程分支描述最近项目建了分支,在并行开发,需要切换远程分支,在网上找了很多资料都不行。远程分支代码始终更新的是其他分支。解决方案话不多说,直接看图。操作上述之后,开始pull下远程代码,完毕后也可发现分支发生变化说明以上只在2016.1.3上验证。

    2022年9月21日
    10
  • goland激活码2021_最新在线免费激活

    (goland激活码2021)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月25日
    63

发表回复

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

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