zoukankan      html  css  js  c++  java
  • vue项目里面,__ob__对象的理解

    最近在用一个后台管理开源框架时,动态配置路由,报错addRoutes()传的值不是数组,研究后发现是因为我传的数组中有__ob__这个对象。

    后来只有格式转了一下才生效。

    // router.addRoutes(accessRoutes)    // 这种写法报错
    router.addRoutes([...accessRoutes])

    两个数组accessRoutes 和 [...accessRoutes]打印之后的区别:

     

    vue中,带有_ob__:Observer的数组,无法取到里面的值

    console.log('开始')
    console.log([...this.upData]) 拷贝一个数组, 打印此刻的瞬时状态
    console.log(this.upData[0])
    console.log('结束') 

     

     打印this.upData[0]的值,为undefined,
    自己也百度了下vue的Observer,只是得到大概信息:
    observer是Vue核心中最重要的一个模块(个人认为),能够实现视图与数据的响应式更新,底层全凭observer的支持。

    百度也有答案讲的是:控制台打印的是引用,打印的时候并没有值,之后某个时刻有值了,然后才能打印出来值,提议可以试试下面方法:

    console.log('开始')
    console.log([...this.upData]) 拷贝一个数组, 打印此刻的瞬时状态
    console.log(this.upData[0])
    console.log('结束') 

    参考地址:https://segmentfault.com/q/1010000016033230

  • 相关阅读:
    18.10.29 考试总结
    【BZOJ】2730: [HNOI2012]矿场搭建
    BZOJ [ZJOI2007]仓库建设
    18.10.24 考试总结
    ZOJ 3740 Water Level
    洛谷 P2474 [SCOI2008]天平
    洛谷 P4180 【模板】严格次小生成树[BJWC2010]
    CF961E Tufurama
    18.10.22 考试总结
    18.10.19 考试总结
  • 原文地址:https://www.cnblogs.com/LChenglong/p/12509065.html
Copyright © 2011-2022 走看看