vue如何通过props方式在子组件中获取相应的对象
目录
- 方法一
- 所以就可以直接拿取
- 方法二
- 有时候会获取不到,可以用一个定时器来获取
- 方法三
- 深拷贝
- 方法四
- 利用watch监听
这些方法主要是在这次做项目的过程中发现总结的来的,感觉也挺常用的,所以就简单的记录一下,希望下次不会再犯同样的错误。
子组件定义props,父组件传入数据,子组件在js中获取的时候使用,如果是在html里面,可以直接把变量渲染上去。
我就直接从代码上面来进行
js代码:
//子组件中,定义传入的变量的类型等 props: { data: { type: Array, require: true }, status: { type: Boolean, require: false } }
我们可以直接在生命周期函数里面打印props
mounted(){ let _this=this; console.log(_this._props,9999); }
方法一
所以就可以直接拿取
mounted() { let _this=this; let {datas,status}=_this._props; console.log(datas,999999); },
方法二
有时候会获取不到,可以用一个定时器来获取
mounted() { let _this=this; let {datas,status}=_this._props; setTimeout(()=>{ console.log(this._props) console.log(datas,111111) },2000) }
方法三
深拷贝
mounted() { let _this=this; let props = {..._this._props}; console.log(props,"props.......") },
方法四
利用watch监听
//直接监听data,因为这里的props的变量名为data watch:{ data(newData,prevData){ console.log(newData,123654789) } }
没错啊,我的data就是一个数组。
在这四种方法的逐级使用下,终于获取到了我想要的data。
其实其他几种都是可以的,只是不知道为什么在这次项目中的某个地方,前面几种都失效了,(其他地方是成功的),可能是因为我有毒吧 ╭(╯ε╰)╮。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
解决vue组件props传值对象获取不到的问题
先说问题,父组件利用props向子组件传值,浏览器 console 有这个值,但是获取不到内部的属性,困了我3个小时,真的** personal console 以下为原代码 1.home.vue(父组件)--personal是被传的参数 <!--子组件--> <form-picker class="form-picker" :personal="personal" > </form-picker> export default
-
vue组件中使用props传递数据的实例详解
在 Vue 中,父子组件的关系可以总结为 props向下传递,事件向上传递.父组件通过 props 给子组件下发数据,子组件通过事件给父组件发送消息.看看它们是怎么工作的. 一.基本用法 组件不仅仅是要把模板的内容进行复用,更重要的是组件间要进行通信. 在组件中,使用选项props 来声明需要从父级接收的数据, props 的值可以是两种, 一种是字符串数组,一种是对象. 1.1 字符串数组: <div id="app4"> <my-component4 messa
-
vue中子组件的methods中获取到props中的值方法
父子组件通信 这个官网很清楚,也很简单,父组件中使用v-bind绑定传送,子组件使用props接收即可 例如: 父组件中 <template> <div> <head-top></head-top> <section class="data_section"> <header class="chart-title">数据统计</header> <el-row :gutter=&
-
vue父组件通过props如何向子组件传递方法详解
前言 本文主要给大家介绍了关于vue中父组件通过props向子组件传递方法的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: vue 组件中的 this vue 中 data/computed/methods 中 this的上下文是vue实例,需注意. 例如: 注意:不应该对 data 属性使用箭头函数 (例如data: () => { return { a: this.myProp }} ) .理由是箭头函数绑定了父级作用域的上下文,所以 this 将不会按照期望指向 Vue 实例
-
vue如何通过props方式在子组件中获取相应的对象
目录 方法一 所以就可以直接拿取 方法二 有时候会获取不到,可以用一个定时器来获取 方法三 深拷贝 方法四 利用watch监听 这些方法主要是在这次做项目的过程中发现总结的来的,感觉也挺常用的,所以就简单的记录一下,希望下次不会再犯同样的错误. 子组件定义props,父组件传入数据,子组件在js中获取的时候使用,如果是在html里面,可以直接把变量渲染上去. 我就直接从代码上面来进行 js代码: //子组件中,定义传入的变量的类型等 props: { data: { type: Array, r
-
vue.js 子组件无法获取父组件store值的解决方式
子组件: props:['myDetail'] 父组件: <子组件 :myDetail="detail"></子组件> computed:{ detail(){ return this.$store.state.XXXX.yyyy } } 子组件的参数值不会随着父组件store中参数值的改变而改变 修改为 父组件: data:{ detail:{} } methods:{ reloadDetail(){ this.detail=JSON.parse(JSON.s
-
vue子组件如何获取父组件的内容(props属性)
目录 子组件如何获取父组件的内容 props属性 vue父→子组件的props传值 需求1 需求2 子组件如何获取父组件的内容 props属性 组件实例的作用域是孤立的.这意味着不能并且不应该在子组件的模板内直接引用父组件的数据.可以使用 props 把数据传给子组件. 想要引用父组件需要: <bbb v-bind:myMsg="msg"></bbb>//子组件将父组件的数据msg绑定到myMsg上 bbb:{ props:{ 'myMs
-
Vue项目中props传值时子组件检测不到的问题及解决
目录 props传值时子组件检测不到 props用法和传值问题 基本用法 props的使用 单向数据流:props是单向绑定的 总结一下props传值的注意点 props传值时子组件检测不到 我们在Vue项目开发的过程中,经常会需要在父子组件传值,我们都知道,父子组件传值的时候是通过 props 来进行的,但是在父组件的数据动态改变的时候,子组件却接收不到最新变化的数据,这个时候怎么办呢? 首先,传值不能用驼峰命名法,因为vue语法中规定HTML 中的特性名是大小写不敏感的,所以浏览器会把所有大
-
解决vue 中 echart 在子组件中只显示一次的问题
问题描述 一次项目开发过程中,需要做一些图表,用的是百度开源的 echarts. vue推荐组件化开发,所以就把每个图表封装成子组件,然后在需要用到该图表的父组件中直接使用. 实际开发中,数据肯定都是异步获取的.所以我们在 mounted 生命周期中获取数据.对vue生命周期不熟悉的,可以去看一下我之前写一篇文章vue2.0项目实战(4)生命周期和钩子函数详解 由于父组件请求的数据并不是一成不变的,会根据不同的条件请求不同的数据,此时需要图表进行更新. 代码示例 在父组件中 // Main.vu
-
Vue父组件如何获取子组件中的变量
在vue项目日常开发中,难免要把功能性组件抽离出来,这样结构就会出现父子组价,兄弟组件等,但是这样就会涉及到不同组件需要互相使用其中的值得问题. 之前有说过通过ref来让父组件操作子组件,并且传值,那么我们今天来详细看看. 案例一:点击父组件的按钮,操作子组件显示 注:可以通过获取id/class来操作,这里我就不介绍这种方法了,至于jquery的话,在vue中还是慎用. 介绍:这里通过给子组件绑定ref属性,引号命名自定义,然后父组件通过 this.$refs.名字 就可以操作子组件的元素,以
-
vue transition 在子组件中失效的解决
错误代码: 子组件: <template> <div v-show="showMine"> <div class="mask" @click.self="onMask"></div> <transition name="slide-fade"> <div class="my_group" v-if="showMine"&g
-
vue3.0在子组件中触发的父组件函数方式
目录 方式一 子组件 父组件 方式二 子组件 父组件 注:本文是基于vue3.0的语法 方式一 在script中引入 defineEmit ,import { defineEmit } from 'vue' ; 通过defineEmit定义事件,例如:const emit = defineEmit(['myclick']); 子组件定义了ClickEmit 事件,并且返回了一个函数,在点击事件里通过 emit("myclick") 传递出事件给父组件 在父组件中的 引用的子组件的标签上
-
vue父组件中获取子组件中的数据(实例讲解)
如下所示: <FormItem label="上传头像" prop="image"> <uploadImg :width="150" :height="150" :name="'avatar'" size="150px*150px" ref="avatar"></uploadImg> </FormItem> <Fo
-
vue slot 在子组件中显示父组件传递的模板
父组件使用没有指定slot属性,默认为default 在slot中可以使用默认值,如果父组件没有传递对应的slot,则会显示默认值 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="vue.js" charset="utf-8"></script> </head> <body&
随机推荐
- 第7天:CSS入门
- 细数JavaScript 一个等号,两个等号,三个等号的区别
- RCMD使用说明
- 史上最详细的CocoaPods安装教程(图文)
- .net c# gif动画如何添加图片水印实现思路及代码
- JS使用正则实现去掉字符串左右空格的方法
- PHP加密解密类实例代码
- php文档更新介绍
- winform dateTime数据类型转换方法
- php 自定义错误日志实例详解
- javascript新建标签,判断键盘输入,以及判断焦点(示例代码)
- 基于vue2.0实现的级联选择器
- js中浮点型运算BUG的解决方法说明
- 传奇完全私服修改方案
- 解析C++中不能重载为友元函数的四个运算符
- 基于Oracle闪回详解(必看篇)
- Python用imghdr模块识别图片格式实例解析
- Android开发中软键盘的显示和隐藏
- mysql 5.7.20 zip安装教程
- Spring Security架构以及源码详析