欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue.js $refs和$emit 父子组件交互的方法

程序员文章站 2022-10-19 22:45:36
本文介绍了vue.js $refs和$emit 父子组件交互的方法,分享给大家,废话不多说直接看代码: 父调子 $refs (把父组件...

本文介绍了vue.js $refs和$emit 父子组件交互的方法,分享给大家,废话不多说直接看代码:

<strong>父调子 $refs (把父组件的数据传给子组件) </strong><br><br><template>
 <div id="app">
  <input type="button" name="" id="" @click="parentcall" value="父调子" />
  <hello ref="chil" />//hello组件
 </div>
</template>
<script>
 import hello from './components/hello'
 export default {
  name: 'app',
  'components': {
   hello
  },
  methods: {
    parentcall () {
      this.$refs.chil.chilfn('我是父元素传过来的')
    }
  }
 }
</script>
/*hello.vue :*/
<template>
 <div class="hello"></div>
</template>
<script>
 export default {
  name: 'hello',
  'methods': {
    chilfn (msg) {
      alert(msg)
    }
  }
 }
</script>
<strong>子调父 $emit (把子组件的数据传给父组件)</strong>
//ps:app.vue 父组件
//hello.vue 子组件
<!--app.vue :-->
<template>
  <div id="app">
    <hello @newnodeevent="parentlisen" />
  </div>
</template>
<script>
 import hello from './components/hello'
 export default {
  name: 'app',
  'components': {
   hello
  },
  methods: {
   parentlisen(evtvalue) { 
    //evtvalue 是子组件传过来的值
    alert(evtvalue)
   }
  }
 }
</script>
<!--hello.vue :-->
<template>
  <div class="hello">
    <input type="button" name="" id="" @click="chilcall()" value="子调父" /> 
  </div>
</template>
<script>
 export default {
  name: 'hello',
  'methods': {
   chilcall(pars) {
    this.$emit('newnodeevent', '我是子元素传过来的')
   }
  }
 }
</script> 

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