首页 > 其他分享 >子组件传递数据给父组件的三种方法

子组件传递数据给父组件的三种方法

时间:2023-04-04 14:57:38浏览次数:43  
标签:methods default 传递数据 export Student 组件 给父 receive name

1.props

<template>
<!-- App.vue -->
  <div id="app">
    <!-- 向子组件中传入函数 -->
    <Student :receive="receive"></Student>
  </div>
</template>

<script>
import Student from './components/Student.vue'

export default {
  name: 'App',
  components: {
    Student
  },
  methods: {
    receive(name){
      console.log(name);
    }
  },
}
</script>
<template>
  <div>
    <h2>{{name}}</h2>
    <h2>{{age}}</h2>
    <button @click="giveName">点我传递姓名</button>
  </div>
</template>

<script>
export default {
    name:'Student',
    props:['receive'],
    data(){
      return{
        name:'张三',
        age:18
      }
    },
    methods:{
      giveName(){
        // 调用传入的函数,将name传递给父组件
        this.receive(this.name)
      }
    }
}
</script>

2.ref

<template>
<!-- App.vue -->
  <div id="app">
    <!-- Student组件绑定自定义事件 -->
    <Student ref="student"></Student>
  </div>
</template>

<script>
import Student from './components/Student.vue'

export default {
  name: 'App',
  components: {
    Student
  },
  methods: {
    getStudentName(name){
      console.log(name);
    }
  },
  mounted() {
    // ref绑定自定义事件
    this.$refs.student.$on('getName',this.getStudentName)
  },
  
}
</script>
<template>
  <div>
    <h2>{{name}}</h2>
    <h2>{{age}}</h2>
    <button @click="giveName">点我传递姓名</button>
  </div>
</template>

<script>
export default {
    name:'Student',
    props:['receive'],
    data(){
      return{
        name:'张三',
        age:18
      }
    },
    methods:{
      giveName(){
        // 调用自定义事件,传入参数
        this.$emit('getName',this.name)
      }
    }
}
</script>

 

标签:methods,default,传递数据,export,Student,组件,给父,receive,name
From: https://www.cnblogs.com/amujoe/p/17286395.html

相关文章

  • React父组件调用子组件属性和方法
    子组件暴露自身的属性和方法父组件使用ref绑定对应的子组件。调用即可类组件绑定ref示例importReactfrom'react'importChildfrom'./Child'exportdefaultclassParentextendsReact.Component{//...render(){return(<div><Childre......
  • MyBatis的执行流程及核心组件
    MyBatis的执行流程及核心组件如图所示。基本组件介绍Configuration用于描述MyBatis的主配置信息,其他组件需要获取配置信息时,直接通过Configuration对象获取。除此之外,MyBatis在应用启动时,将Mapper配置信息、类型别名、TypeHandler等注册到Configuration组件中,其他组件需要这......
  • windows 服务开发组件之Topshelf
    常用的windows服务开发有vs自带的windows服务开发,但是操作起来不是很便利,相比Topshelf后者更加的方便,且易于调试,安装,卸载.1、安装通过nuget搜索最新版本的topshelf,并安装到控制台项目(netcore和net均可)中,一般都是用控制台调试,然后通过topshelf安装成windows服务.官方......
  • React Native学习笔记(三)—— 组件
    一、ReactNative项目1.1、创建ReactNative项目ReactNative有一个内置的命令行界面,你可以用它来生成一个新项目。您可以使用Node.js附带的访问它,而无需全局安装任何内容。让我们创建一个名为“AwesomeProject”的新ReactNative项目:npxnpxreact-native@latestinitAw......
  • Android开发-Android常用组件-SeekBar拖动条
    4.9 SeekBar拖动条android:max滑动条的最大值android:progress滑动条的当前值android:secondaryProgress二级滑动条的进度android:thumb滑块的drawable 接着要说下SeekBar的事件了,SeekBar.OnSeekBarChangeListener我们只需重写三个对应......
  • Vue3中修改父组件传递到子组件中的值
    Vue3中修改父组件传递到子组件中的值1.大家都知道,vue是具有单向数据流的传递特性。当你在子组件中修改父组件传递过来的数据的时候,控制台就会报出错误,说不让你对父组件传递的值进行修改。2.那么,尤大大为了解决这个问题,在vue3的时候给我们提供了一个新的思路:v-model来实现父传子,并......
  • 【微信小程序-原生开发】实用教程14 - 列表的分页加载,触底加载更多(含无更多数据的提醒
    此页可在动态列表的基础上完善,也可以单独学习【微信小程序-原生开发】实用教程10-动态列表的新增、修改、删除效果预览核心技术列表的分页加载skip跳跃到指定下标开始查询limit限制返回的数据数量(云数据库最多20条/次,云函数最多100条/次)skip配合limit使用,便能实现分页啦!.ski......
  • vue3 - 引入自定义插件的组件的具体写法
    1.背景我的这一篇随笔详细讲解组件怎么制作与引入使用【vue3-在单独的项目制作自定义组件插件,支持vite【前提不要使用webpack专属语法】,并引入插件-心得-岑惜-博客园(cnblogs.com)】但在局部引入组件时,eslint红色警告   引用名言:“又不是不能用==”强迫症看着实......
  • 华为推出的组件库 ,vue的版本OpenTiny
    OpenTiny-企业级产品的完整设计和开发解决方案华为推出的组件库,vue的版本 ......
  • 微信小程序自定义封装组件-showModal
    封装一个组件这里由于最近使用微信小程序居多,所以着重写的是小程序的,但是万变不离其宗,组件实现思路其实都差不多的微信小程序开发中官方自带的wx.showModal,这个弹窗API有时候并不能满足我们的弹窗效果,所以往往需要自定义modal组件。下面我们进行一个自定义modal弹窗组件的开发,并......