Vue2子组件修改父组件的方法

news2025/1/18 10:04:49
  1.  Vuex

  • Vuex 是状态管理器,集中式存储管理所有组件的状态。

        Vuex速成整理_AYBAIWAN的博客-CSDN博客https://blog.csdn.net/aybaiwan/article/details/131442547?spm=1001.2014.3001.5501vuex中this.$store.commit和this.$store.dispatch的用法_老电影故事的博客-CSDN博客https://blog.csdn.net/weixin_44582045/article/details/121852631
关于 Vuex 的作用与常见用法 ——详解(初学者也能看懂)_vuex使用方法及应用场景_还是一个小白的博客-CSDN博客https://blog.csdn.net/weixin_47002682/article/details/129624760?ops_request_misc=&request_id=&biz_id=102&utm_term=vuex%E4%B8%BB%E8%A6%81%E5%81%9A%E4%BB%80%E4%B9%88%E7%94%A8%E7%9A%84&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-129624760.nonecase&spm=1018.2226.3001.4187

  1. 子组件通过派发事件的方式给父组件数据,或者触发父组件更新等操作,emit

  • <!-- 父组件给子组件传入一个setNum函数 -->
    <child :num="numParent" @setNum="(res)=> numParent = res"></child>
    
    //子组件通过调用这个函数来实现修改父组件的状态
    methods: {
        changNum(){
          this.$emit('setNum',666)
    }
    

  1. 父组件传数据给子组件时,使用修饰符.sync 

  • <!-- 父组件给子组件传入一个setNum函数 -->
    <child :num.sync="numParent">
    
    //子组件通过调用这个函数来实现修改父组件的状态
    methods: {
        changNum(){
          // update:固定部分  num 要修改的参数名
          this.$emit('update:num',666)
    }
    

  1. 子组件使用计算属性computed,当接收数据时,触发get方法(默认只有get方法),将父组件传递过来的数据return出去,当修改数据时,触发set方法,传入参数,调用父组件中更新数据的方法emit,个人觉得其实和方法1大差不差

  •  Child.vue:
    export default {
        props:["page"],
        computed: {
            currentPage: {
                get(){
                    return this.page
                },
                set(newVal){
                    //更改数据时,触发父组件方法
                    this.$emit("update", newVal)
                }
            }
        }
    }

  1. 通过data去间接修改

  • 优先级props>data
  • 当数据类型是基本数据类型时,在子组件data中设置一个初始值接受父组件传递过来的数据,通过修改data中的数据,实现修改;
  •  Child.vue:
    
    export default {
      name: "Child",
      props: ["page"],
        data(){
            return {
                //通过修改Page实现数据修改
                Page: this.page
    }}
      },

  • 当数据类型是引用数据类型时,在子组件中对数据进行局部变量接收后,再进行深拷贝赋值;
  1. 父组件可以通过 ref 主动获取子组件的属性或者调用子组件的方法

// Parent.vue
<template>
    <child ref="child"></child>
</template>
<script>
export default {
    mounted(){
        const child = this.$refs.child
        console.log(child.name) 
        child.方法名("调用了子组件的方法")
    }
}
  1. $children或$parent

  • $children获取到一个包含所有子组件(不包含孙子组件)的 VueComponent 对象数组,可以直接拿到子组件中所有数据和方法等
  • 同理$parent
  1. $root

  • 作用:访问根组件中的属性或方法
  • 注意:是根组件,不是父组件。$root只对根组件有用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/896216.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第八届XCTF联赛首场国际外卡赛——WACON2023即将开启!

由国际战队SuperGuesser操刀命题 第八届XCTF首场国际外卡赛 WACON2023即将开启 线上资格赛前6名队伍 将晋级WACON2023总决赛 飞往韩国首尔 与全球顶尖白帽黑客一决高下 总决赛冠军队伍将获得&#xff1a; 3千万韩元&#xff08;折合人民币16万&#xff09;高额奖金 &第八…

Java IO流(一)IO基础

概述 IO流本质 I/O表示Input/Output,即数据传输过程中的输入/输出,并且输入和输出都是相对于内存来讲Java IO(输入/输出)流是Java用于处理数据读取和写入的关键组件常见的I|O介质包括 文件(输入|输出)网络(输入|输出)键盘(输出)显示器(输出)使用场景 文件拷贝&#xff08;File&…

基于Java的深圳坂田附近闲置物品交易群管理系统

开发技术&#xff1a;java 开发框架&#xff1a;springmvc、spring、mybatis 数据库&#xff1a;mysql 备注&#xff1a;方便大家将手中的二手闲置物品转让给需要的人&#xff0c;例如大家搬家的时候&#xff0c;有不要的&#xff08;冰箱、洗衣机、桌子、椅子&#xff09;等物…

【3519DV500】AI算法承载硬件平台_2.5T算力+AI ISP图像处理_超感光视频硬件方案开发

Hi3519DV500 内置双核 A55 &#xff0c;提供高效、丰富和灵活的CPU 资源&#xff0c;以满足客户计算和控制需求。 Hi3519DV500集成了高效的神经网络推理引擎&#xff0c;最高2.5Tops NN算力&#xff0c;支持业界主流的神经 网络框架。神经网络支持完整的 API 和工具链&#xf…

Qt使用qml(QtLocation)显示地图

一、qt版本和QtLocation模块版本确认 如果qt版本过低的话是没有QtLocation模块的&#xff0c;我的版本如下 构建工具版本如下 二、qml代码编写 1、工程中添加模块 首先在工程中添加模块quickwidgets positioning location 2、添加资源文件 3、在资源文件中添加qml文件 …

什么是卷积神经网络

目录 什么是卷积神经网络 全链接相对笨重&#xff1a;大胖子​编辑 ​编辑 参数众多&#xff1a;容易造成过拟合 ​编辑 卷积核&#xff1a;进行图像特征提取&#xff0c;源于卷积原理&#xff1a;求相交面积 卷积的作用 卷积的意义 ​编辑 通过卷积核减少参数 深度卷积…

【001】ts学习笔记-准备工作和【基本类型】

typescript安装的包 npm i typescript #安装ts npm i types/node --save-dev # TypeScript 项目中使用类型检查和自动补全。 npm i ts-node -g #可直接在nodejs环境中使用ts, 如&#xff1a;ts-node example.tstsc 常用命令 tsc -init #生成tsc目录下的配置文件:tsconfig.jso…

ADAS-干货|自动驾驶汽车E/E拓扑架构与软件功能框架

引言 之前在公众号中我们对自动驾驶常见传感器的原理进行了讲解&#xff0c;如《可见光相机》《IMU惯导传感器》《GPS传感器原理》《毫米波雷达原理》以及《激光雷达原理》。今天我们将结合TI自动驾驶部门专家发表的相关的论文&#xff0c;讲解现代自动驾驶汽车车身电气架构以及…

dockerfile的概念

目录 一、Dockerfile 概念 1.1 docker镜像的分层 二、Docker镜像的创建 2.1 基于已有的镜像创建 2.2 基于本地模板创建 2.3 基于dockerfile创建 2.3.1 dockerfile 结构(四部分) 三、Dockerfile操作指令 3.1 ENTRYPOINT指令 3.2 CMD 与entrypoint 3.3 小结 四、ADD和…

STM32——SPI外设总线

SPI外设简介 STM32内部集成了硬件SPI收发电路&#xff0c;可以由硬件自动执行时钟生成、数据收发等功能&#xff0c;减轻CPU的负担 可配置8位/16位数据帧、高位先行/低位先行 时钟频率&#xff1a; fPCLK / (2, 4, 8, 16, 32, 64, 128, 256) 支持多主机模型、主或从操作 可…

Pandas+Pyecharts | 成都大运会奖牌数据分析可视化

文章目录 &#x1f3f3;️‍&#x1f308; 1. 导入模块&#x1f3f3;️‍&#x1f308; 2. Pandas数据处理2.1 读取数据2.2 数据信息2.3 数据处理 &#x1f3f3;️‍&#x1f308; 3. Pyecharts数据可视化3.1 每日奖牌数量分布3.2 奖牌榜单TOP20金银铜牌分布3.3 各比赛项目金牌…

Java“牵手“拼多多商品详情页面数据获取方法,拼多多API实现批量商品数据抓取示例

拼多多商城是一个网上购物平台&#xff0c;售卖各类商品&#xff0c;包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取拼多多商品详情数据&#xff0c;您可以通过开放平台的接口或者直接访问拼多多商城的网页来获取商品详情信息。以下是两种常用方法的介绍&#xff1a;…

使用el-tree实现自定义树结构样式

实现结果&#xff1a; 直接上代码&#xff1a; <template><div><div class"tops"><el-tree :default-expanded-keys"[1]" ref"myTree" :data"data" :props"defaultProps" node-click"handleNod…

IO的几个模型

I/O模型名词介绍 说到I/O模型&#xff0c;都会牵扯到同步、异步、阻塞、非阻塞这几个词&#xff0c;以下讲解这几个词的概念。 阻塞和非阻塞 阻塞和非阻塞指的是一直等还是可以去做其他事。 阻塞&#xff08;blocking&#xff09;&#xff1a;调用结果返回之前&#xff0c;…

环形链表笔记(自用)

环形链表 不管怎么样slow最多走半圈了&#xff0c; 快慢指针slow走一步&#xff0c;fast走两步最合适&#xff0c;因为假设fast和slow相差n每一次他们前进&#xff0c;就会相差n-1步&#xff0c;这样他们一定会相遇&#xff0c;如果是环形链表的话。 代码 /*** Definition for…

Vue 2的计算属性与侦听器

计算属性 vs 方法 vs 侦听器 计算属性的出现是为了解决模板内表达式太过复杂而变得难以维护。 假设我们知道长和宽&#xff0c;要计算一个矩形的面积&#xff0c;如果没有计算属性&#xff0c;我们可能像下面这样处理&#xff1a; <div id"app"><input t…

基于Java+SpringBoot+Vue的乌鲁木齐南山冰雪旅游服务网站【源码+论文+演示视频+包运行成功】

博主介绍&#xff1a;✌csdn特邀作者、博客专家、java领域优质创作者、博客之星&#xff0c;擅长Java、微信小程序、Python、Android等技术&#xff0c;专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推…

北京“三阳”凶猛,真会说来就到吗?

综合媒体最新报道&#xff0c;据北京疾控中心发布的第32周《传染病周报》称&#xff0c;8月7日-8月13日&#xff0c;呼吸道传染总报告数为6205例(新冠为主)&#xff0c;比上周猛增了71.6%&#xff01; 从30周到32周&#xff0c;北京呼吸道传染病分别增长了5.3%、20.6%、71.6%。…

VBA_MF系列技术资料1-157

MF系列VBA技术资料 为了让广大学员在VBA编程中有切实可行的思路及有效的提高自己的编程技巧&#xff0c;我参考大量的资料&#xff0c;并结合自己的经验总结了这份MF系列VBA技术综合资料&#xff0c;而且开放源码&#xff08;MF04除外&#xff09;&#xff0c;其中MF01-04属于定…

ubuntu向日葵无法连接

近来收到部分用户小伙伴的反馈&#xff0c;在CentOS8、Ubuntu17.10或更高版本上使用向日葵个人版&#xff0c; 当其它设备远程控制自己的时候&#xff0c;控制界面会出现“连接已断开”或显示为黑屏的情况。 这其实是由于系统默认采用了wayland作为显示服务器的缘故&#xff0…