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如何向子组件传递方法详解
前言 本文主要给大家介绍了关于vue中父组件通过props向子组件传递方法的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: vue 组件中的 this vue 中 data/computed/methods 中 this的上下文是vue实例,需注意. 例如: 注意:不应该对 data 属性使用箭头函数 (例如data: () => { return { a: this.myProp }} ) .理由是箭头函数绑定了父级作用域的上下文,所以 this 将不会按照期望指向 Vue 实例
-
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传值对象获取不到的问题
先说问题,父组件利用props向子组件传值,浏览器 console 有这个值,但是获取不到内部的属性,困了我3个小时,真的** personal console 以下为原代码 1.home.vue(父组件)--personal是被传的参数 <!--子组件--> <form-picker class="form-picker" :personal="personal" > </form-picker> export default
-
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&
随机推荐
- Oracle存储过程、包、方法使用总结(推荐)
- 学习Angular中作用域需要注意的坑
- node使用Koa2搭建web项目的方法
- apache启动报错:httpd: apr_sockaddr_info_get() failed
- js变形金刚文字特效代码分享
- asp.net为网页动态添加description描述信息的方法
- PHP利用APC模块实现大文件上传进度条的方法
- phpexcel导出excel的颜色和网页中的颜色显示不一致
- 解析WPF绑定层次结构数据的应用详解
- 即时通讯软件在网页上启动临时对话的链接代码
- JavaScript使用Ajax上传文件的示例代码
- jQuery制作简单柱状图实例
- 一招最简单有效直接的防止黑客拿后台的设置方法
- linux常用disk磁盘操作命令整理
- Java责任链模式模板代码分享
- 微信小程序实现蓝牙打印
- Java 比较接口comparable与comparator区别解析
- Java8 Comparator源码演示及解析
- 基于Swiper实现移动端页面图片轮播效果
- Mysql数据库之sql基本语句小结