解决vue组件props传值对象获取不到的问题
2019-06-06 11:02
525 查看
先说问题,父组件利用props向子组件传值,浏览器 console 有这个值,但是获取不到内部的属性,困了我3个小时,真的**
personal
console
以下为原代码
1、home.vue(父组件)--personal是被传的参数
<!--子组件--> <form-picker class="form-picker" :personal="personal" > </form-picker> export default { data(){ return{ personal:{ state:'',////判断是修改状态,还是新增状态 add/edit data:[] } } }, mounted(){ this.$api.personal.searchPersonalInfo(this.userInfo.userId).then((res)=>{ this.personal.data = res.data.data //这里给personal对象赋值接口传来的数据 }) }, }
2、formPicker (子组件) --接收personal
export default { props:['active','personal'], mounted(){ console.log(149,this.personal) console.log(150,this.personal.state) } }
运行结果
明明149行有 state 值,150行输出却没有了,是不是超级奇怪
后面经过大佬的讲解,其实浏览器console.log也是应该没有的
所以,其实我们子组件一开始根本就没有取到这个personal这个对象。
3、解决方法--使用watch
父组件
export default { data(){ return{ personal:{ state:'',////判断是修改状态,还是新增状态 add/edit data:[] } } }, mounted(){ this.$api.personal.searchPersonalInfo(this.userInfo.userId).then((res)=>{ //this.personal.data = res.data.data //这里给personal对象赋值接口传来的数据 //使用以下方法重新赋值,上面方法watch监听不到,具体什么原因,我也不清楚,知道的告知我!谢谢 this.personal = { data: res.data.data, state: 'edit' } }) }, }
接下来子组件就能 watch 到 personal 了 子组件
watch:{ personal(newValue,oldValue){ console.log(181,newValue) }, /** 输出 { data: res.data.data, state: 'edit' } **/ }
总结
以上所述是小编给大家介绍的解决vue组件props传值对象获取不到的问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
您可能感兴趣的文章:
相关文章推荐
- VUE-解决切换页面后,子组件通过props获取的父组件数据不同步的问题
- unity 获取不到组件对象问题
- Vue2.0 解决watch对象属性变化监听不到问题
- [vue.js]解决子组件无法获取父组件store中的值的问题
- NetBox环境下ajax用get获取数据,中文乱码的问题解决:对象不支持此属性或方法: 'Response.CharSet'
- 移动开发:Tabhost中子Activity使用startActivityForResult后获取不到回调值问题的解决办法
- 解决apache/nginx做反向代理导致request.getServerName()外网环境获取不到代理地址(或域名)的问题
- 解决iframe,frame和框架丢失或获取不到session,cookies问题
- 解决android4.4以上获取不到图片路径问题
- vue遇到过的坑(父组件向输入框组件传值进去,然后子组件利用传进来的数据进行数据绑定的问题与解决方法)
- 解决vue组件中使用v-for出现告警问题及v for指令介绍
- nginx反向代理服务器获取不到端口的问题的解决办法
- 彻底解决 Jedis 连接池 获取不到连接,连接放回连接池错误的问题
- 解决$GLOBALS["HTTP_RAW_POST_DATA"]获取不到数据的问题
- htmlunit爬取Ajax动态生成的网页获取不到生成后的结果的问题的解决
- Tuple解决在视图中通过razor获取控制器传递给视图的匿名对象的报错问题
- 解决element-ui中el-menu组件作为vue-router模式在刷新页面后default-active属性与当前路由页面不一致问题的方法
- Android解决部分机型获取不到系统拍照图片,图库图片问题的解决
- asp.net asp:TextBox控件绑定值后,获取不到新值问题解决方法
- 解决火火狐中ifram获取不到的问题