美文网首页
记录一个在vue中父子组件传递对象的bug

记录一个在vue中父子组件传递对象的bug

作者: 兜兜里冒糖糖 | 来源:发表于2020-01-02 17:55 被阅读0次

1.我们最终需要的对象形式为:
我们需要渲染的对象 为一个26个字母为key值,数组为value值的对象

  1. 首先我们在父组件的页面声明了一个空对象
// 父组件
    data(){
      return{
        list: {},
      }
    },

3.获取后台数据 ,然后利用for循环生成我们以26个字母为key值,数组为value值的对象

            for(let j=1;j<27;j++){
              let obj = String.fromCharCode(64 + parseInt(j))
              this.list[obj] = []
              for(let k of datas){
                if(k.group== obj){
                  this.list[obj].push(k)
                }
              }
            }

4.最后获得的对象打印出来为

{A: Array(1), B: Array(1), C: Array(1), D: Array(1), E: Array(1), …}
A: [{…}]
B: [{…}]
C: [{…}]
D: [{…}]
E: [{…}]
F: [{…}]
G: [{…}]
H: [{…}]
I: []
J: []
K: []
L: []
M: []
N: []
O: []
P: []
Q: []
R: []
S: []
T: []
U: []
V: []
W: []
X: []
Y: []
Z: []
__ob__: Observer {value: {…}, dep: Dep, vmCount: 0}
__proto__: Object
  1. 子组件接受
//子组件
  props: {
    obj: {
      type: Object,
      default: ()=>{}
    },
  },

6.子组件 在created 中打印这个对象

  created() {
    console.log(this.obj)
  },
{__ob__: Observer}
A: [{…}]
B: [{…}]
C: [{…}]
D: [{…}]
E: [{…}]
F: [{…}]
G: [{…}]
H: [{…}]
I: []
J: []
K: []
L: []
M: []
N: []
O: []
P: []
Q: []
R: []
S: []
T: []
U: []
V: []
W: []
X: []
Y: []
Z: []
__ob__: Observer {value: {…}, dep: Dep, vmCount: 0}
__proto__: Object

7.但是页面没有东西渲染出来


image.png image.png

最后 我换了一个写法
我把 直接写在接口成功获得 26个字母数组的对象的逻辑 单独封装了 然后把得到的结果返回出去

image.png
然后子页面就渲染成功了
image.png

总结: 应该是和 vue 的数组 和对象 在改变的时候 应该调用它的this.$set的方法 页面才会同步刷新,所以 刚开始我们没有用这个方法 ,所以 页面没有同步刷新

单独封装的方法 放回的是一个新的对象 再用复制的方法,改变的是内存地址,所以数据也跟着刷新了

相关文章

  • 记录一个在vue中父子组件传递对象的bug

    1.我们最终需要的对象形式为:我们需要渲染的对象 为一个26个字母为key值,数组为value值的对象 首先我们在...

  • 非父子组件事件传递

    VUE中非父子组件如何把A组件中的msg传递到B组件 创建一个bus.js content: import Vue...

  • vue组件如何通信?有几种方式?

    在vue中组件通讯可以分为父子组件通讯和非父子组件通信。父组件通过props的方式向子组件传递数据,而子组件可以通...

  • vue-slide轮播笔记

    在做练习的时候,在vue开发中我们可以自己写一个轮播组件,里面用到了父子组件的传递,学习一下,并记录下来 父组件:...

  • vue学习

    vue中的事件传递 父子组件传值通过props传递,父组件 :name=“name(父数据)”子组件 props内...

  • vue组件通信(父子)

    在 Vue 中,父子组件的关系可以总结为 prop 向下传递,事件向上传递。父组件通过 prop 给子组件下发数据...

  • VUE----事件总线

    vue像是一个由组件组成的金字塔,组件中需要信息的传递 1.父子组件通讯: 2.多级组件之间传递: 当多级组件之间...

  • vue props监听变化的几种方式

    应用场景 在vue中父子组件是通过props传递数据的。通常有以下几种场景: 子组件展示父组件传递过来的props...

  • Vue学习记录

    vue data 组件定义只接受 function 父子组件属性传递: 父组件的子组件中 v-bind :prop...

  • Vue组件传值及页面缓存问题

    一、父子组件传值 基本概念在Vue中,父子组件间的数据流向可以总结为prop向下传递,事件向上传递,即父组件通过p...

网友评论

      本文标题:记录一个在vue中父子组件传递对象的bug

      本文链接:https://www.haomeiwen.com/subject/fqvooctx.html