Vue如何通过浏览器控制台查看全局data值

 更新时间:2023年04月14日 11:09:10   作者:第一段代码  
在写vue项目时想到一个问题,项目里面的文件都是一个个的组件,如何在控制台中修改,查看组件data里的值呢,下面这篇文章主要给大家介绍了关于Vue如何通过浏览器控制台查看全局data值的相关资料,需要的朋友可以参考下

前言

Vue中借助data实现了数据的存储和中转,方便了界面的绑定渲染和值使用.

一些时候,为了调试程序,我们可能需要通过浏览器来查看data中的值到底目前是一个什么情况,方便调试和查找问题.

而现有基于Vue-cli框架和单个页面的Vue在定义时,会导致data获取值方法不相同.尤其是通过Vue-cli创建的,里面的文件都是一个个的组件,如何在控制台中修改,查看组件data里的值??

(1)没有或找不到具体的Vue对象

发现很多通过Vue-Cli创建的具体页面在定义data后,export时,多半没有对象(直接页面),如下:

export default {
  data() {
    return {
      locale,
      labelCol: { span: 2 },
      wrapperCol: { span: 20 },
      other: "",
      form: {
        name: "",
        goodsType: undefined,
        goodsTime: undefined,
        delivery: false,
        type: [],
        goodsDesc: "",
      },
     ...
  },

这样,我们在浏览器中没有对外的对象,怎么获取data值,确实令人抓头...

方法,解助,created方法,在该方法中定义一个myData全局对象实例并指向当前对象this,来获取实例.并通过windows暴露给全局,代码如下:

created() {
    window.myData = this;//将变量全局化,这样浏览器可以查看当前data是什么情况::myData._data
  },

这样,在浏览器控制台,直接使用myData对象就可以获取到值,获取data值,通过myData._data

(2)Vue在外层定义了实例来包裹整个对象

传统的html形式引用vue可以通过给最外层的vue实例命名方式.这种方式,就比较直接简单了,可直接通过该实例直接获取.

var myapp=new Vue({
      el:'#app',
      data:{
      a:1
    }
})

获取值:在控制台输入myapp.a=2改变里面data的值,这样在浏览器控制台调试很方便

补充:vue在控制台展开有值代码却获取不到

1.浏览器控制台获取到的是当前值

当我们在console.log输出测试点开查看是否有值时,发现明明有值,代码使用时却获取不到,这是因为浏览器获取的是该参数当前的值,而不是你console.log输出时的值。

可以发现当我们在对展开之前又给它push一个值后,展开的是最新的数据而不是调用它时的数据,这点在你展开时浏览器其实有说明,不过大家平时可能没注意。

2.vue this指向发生改变

这严格来说不属于该情况,不过也经常是我这种小白容易忽略的地方,就放在一起了,方便自己以后查阅。

在使用例如setTimeout等(不知道还有没有,我目前记得这一个)函数时,this的指针指向不再指向vm,而是会指向Windows,因此在setTimeout中使用this时会赋值不上,可以在方法内使用setTimeout之前重新定义一个参数将this保存下来。

异步请求

如axios、ajax发送请求时是异步的,因此在发送请求后立即调用想要返回的信息可能为空,但是当我们在控制台展开时接口数据返回完成,又能查看到数据了。可以选择停用异步或用setTimeout增加一定的延时。

总结

到此这篇关于Vue如何通过浏览器控制台查看全局data值的文章就介绍到这了,更多相关Vue浏览器控制台查看全局data值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue 实现左滑图片验证功能

    vue 实现左滑图片验证功能

    网页中滑动图片验证一直是各大网站、移动端的主流校验方式,其主要作用是为了区分人和机器以及为了防止机器人程序暴力登录或攻击从而设置的一种安全保护方式,这篇文章主要介绍了vue 实现左滑图片验证,需要的朋友可以参考下
    2023-04-04
  • 解决vue 打包发布去#和页面空白的问题

    解决vue 打包发布去#和页面空白的问题

    今天小编就为大家分享一篇解决vue 打包发布去#和页面空白的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • vue中的vendor.js文件过大问题及解决

    vue中的vendor.js文件过大问题及解决

    这篇文章主要介绍了vue中的vendor.js文件过大问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • vue2使用el-date-picker实现动态日期范围demo

    vue2使用el-date-picker实现动态日期范围demo

    这篇文章主要为大家介绍了vue2使用el-date-picker实现动态日期范围示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • vue-create创建VUE3项目详细图文教程

    vue-create创建VUE3项目详细图文教程

    create-vue是Vue官方新的脚手架工具,底层切换到了vite(下一代前端工具链),为开发提供极速响应,下面这篇文章主要给大家介绍了关于vue-create创建VUE3项目的相关资料,需要的朋友可以参考下
    2024-03-03
  • vue中$set用法详解

    vue中$set用法详解

    在vue中,并不是任何时候数据都是双向绑定的,解决数据没有被双向绑定我们可以使用 vm.$set 实例方法,该方法是全局方法 Vue.set 的一个别名,这篇文章主要介绍了vue中$set用法详细讲解,需要的朋友可以参考下
    2022-12-12
  • Vue+ElementUI 中级联选择器Bug问题的解决

    Vue+ElementUI 中级联选择器Bug问题的解决

    这篇文章主要介绍了Vue+ElementUI 中级联选择器Bug问题的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • vue.js vue-router如何实现无效路由(404)的友好提示

    vue.js vue-router如何实现无效路由(404)的友好提示

    众所周知vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用,下面这篇文章主要给大家介绍了关于vue.js中vue-router如何实现无效路由(404)的友好提示的相关资料,需要的朋友可以参考下。
    2017-12-12
  • vue脚手架搭建过程图解

    vue脚手架搭建过程图解

    vue脚手架是个好东西,能够快速搭建vue单页面应用,vue是基于node环境的,所以要先安装node。下面通过图文并茂的形式给大家介绍vue脚手架搭建过程图解,感兴趣的朋友一起看看吧
    2018-06-06
  • Vue组件层级关系详细分析

    Vue组件层级关系详细分析

    这篇文章主要介绍了Vue组件的层级关系,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08

最新评论