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

  • 相关阅读:
    并行计算上机代码
    BZOJ 5170: Fable
    ANTLR4 实验总结
    ANTLR4将BF翻译成CPP
    BF语言学习
    ANTLR4将JSON翻译成XML
    ANTLR4加载csv数据
    语法分析树监听器和访问器
    数据库数据类型总结
    java介绍
  • 原文地址:https://www.cnblogs.com/LChenglong/p/12509065.html
Copyright © 2011-2022 走看看