16 子组件和父组件之间传值

2024-09-08 11:48
文章标签 16 组件 传值 之间

本文主要是介绍16 子组件和父组件之间传值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

划重点
  • 子组件 / 父组件 定义
  • 组件中:props 的使用
  • 组件中:data 的使用(有 return 返回值) ; 区别:Vue中的data (没有返回值);
  • 组件方法中 emit 的使用:emit:英文原意是:触发、发射 的意思
  • components :直接在Vue的方法中声明和绑定要使用的组件
小炒肉:温馨可口

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><script src="./lib/vue-2.6.10.js"></script>
</head><body><!--   需要实现的是:子组件 和 父组件(Vue)之间传值总体逻辑是:通过点击组件(子组件)事件调用 Vue中的函数;;而 在子组件中传值可以在Vue函数中进行使用
1: 在Vue中定义个 函数如: vuemethods() 
2:定义一个组件 点击组件 可以调用 Vue中的函数 vuemethods 方法;如果这个方法中有参数,可以通过组件传递参数给这个方法:vuementhods--><div id="app"><!-- 在  组件:comname1中通过 绑定一个名字为:msgcom1 的事件:vuemethods 也即是: 把Vue中的函数:vuemethods 复制给 了一个在组件中名字为:msgcom1的函数属性这里的 msgcom1 可以自己任意命名--><comname1 v-on:msgcom1="vuemethods"></comname1></div><template id="comname1"><div><h3>{{ msg2 }}</h3><a href="" @click.prevent="clickMsg">点击</a></div></template><script>var comtem1 = {template: '#comname1',//注意:组件中的所有的 props中的数据;都是通过 父组件传递给子组件的//props中的数据 都是只能读 ;不能重新赋值    props是一个数组  ;;;//props主要是处理:子组件向父组件(Vue中的components)传递数据使用的; 如 在 emit中的参数 temmsg就是传递的值给 了Vue中的 methods--> vuemethods 中的参数props: ['msgcom1'],    //这个名字msgcom1 就是父组件传递过来的属性名字;data: function () {//这一行可以简写成:data(){}return { temmsg: 'temp中的data定义123456',msg2:'22'}},methods: {clickMsg() { //注意:如何使用  props 和  emit  ?//emit:英文原意是:发射/触发的意思 //this代表 comtem1 对应的上下文;//emit中的参数:第一个必是 对应的子组件的自定义的事件的名称:可以只有这一个参数:也即是只是调用了父组件的函数;不传递值如://this.$emit('msgcom1') ;这是不带有参数的//如果带有参数;如一个参数或者两个或者多个;那么就是直接在后面依次写入就可以//如:带有两个参数(对应的父组件中的方法如果要使用这些参数;那么其父组件的方法也要是含有参数的 )this.$emit('msgcom1' ,this.temmsg,"-------我是参数2")}}}var vm = new Vue({el: '#app',data: {},methods: {vuemethods(data,data2) {alert("组件之间传递~~~" +data+data2)}},components: {//comname1:组件的名字; comtem1:定义的template 的名称comname1: comtem1}})</script>
</body></html>
一张图片 ~ ~ ~

在这里插入图片描述

这篇关于16 子组件和父组件之间传值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1148032

相关文章

Java多线程父线程向子线程传值问题及解决

《Java多线程父线程向子线程传值问题及解决》文章总结了5种解决父子之间数据传递困扰的解决方案,包括ThreadLocal+TaskDecorator、UserUtils、CustomTaskDeco... 目录1 背景2 ThreadLocal+TaskDecorator3 RequestContextH

java父子线程之间实现共享传递数据

《java父子线程之间实现共享传递数据》本文介绍了Java中父子线程间共享传递数据的几种方法,包括ThreadLocal变量、并发集合和内存队列或消息队列,并提醒注意并发安全问题... 目录通过 ThreadLocal 变量共享数据通过并发集合共享数据通过内存队列或消息队列共享数据注意并发安全问题总结在 J

Java文件与Base64之间的转化方式

《Java文件与Base64之间的转化方式》这篇文章介绍了如何使用Java将文件(如图片、视频)转换为Base64编码,以及如何将Base64编码转换回文件,通过提供具体的工具类实现,作者希望帮助读者... 目录Java文件与Base64之间的转化1、文件转Base64工具类2、Base64转文件工具类3、

SpringMVC前后端传值的几种实现方式

《SpringMVC前后端传值的几种实现方式》本文主要介绍了SpringMVC前后端传值的方式实现,包括使用HttpServletRequest、HttpSession、Model和ModelAndV... 目录一、从Controller层到JSP界面1、使用HttpServletRequest的方式2、使

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

基于Qt Qml实现时间轴组件

《基于QtQml实现时间轴组件》时间轴组件是现代用户界面中常见的元素,用于按时间顺序展示事件,本文主要为大家详细介绍了如何使用Qml实现一个简单的时间轴组件,需要的可以参考下... 目录写在前面效果图组件概述实现细节1. 组件结构2. 属性定义3. 数据模型4. 事件项的添加和排序5. 事件项的渲染如何使用

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca