Vue 项目调试技能 及 组件实例 $el 详解
一、前言
在Vue
项目开发过程中,当遇到应用逻辑出现错误,但又无法准确定位的时候,知晓Vue
项目调试技巧至关重要。
同后台项目开发一样,可以在JS
实现的应用逻辑中设置断点,并进行单步、进入方法内、跳出方法等调试,从而准确定位问题根源。
本文主要讲解针对JetBrains
系列WebStorm
下Vue
项目进行调试的2种方法:debugger
和Vue-devtools
。
二、debugger
debugger
是谷歌浏览器提供的调试语句,其主要是通过停止JS
的执行,相当于设置断点。它的使用方法很简单, 只需要在我们的JS
语句中, 插入一行debugger;
即可。
在JS
代码编写的过程中,我们都会通过浏览器的调试模式(F12
)来检查代码逻辑是否正确,大多数我们都是通过设置断点来进行调试。
应用debugger
调试Vue
项目,需要在项目中需要的位置写debugger
,项目运行后,打开浏览器按F12
,在chrome sources
页签中就会直接进入断点,至此可以进行单步、跳步调试了。
三、Vue-devtools
该调试工具为针对Chrome浏览器而设计的开源调试工具(Github地址),可以自行将该项目下载下来然后编译,并将生成后的chrome
插件安装至chrome
中,步骤如下:
找到谷歌浏览器的扩展程序功能,勾选开发者模式,然后我们将插件文件夹里的shells>chorme
文件夹直接拖到页面中,完成安装。
然后运行本地项目用谷歌浏览器打开就可以调试了,如下图所示。
四、延伸阅读
- 应用
devtools
调试工具,还需要在vue
项目中man.js
配置:
Vue.config.devtools = true;
-
安装后, 需要关闭浏览器, 再重新打开, 才能使用;
-
如果调试插件安装后,
vue
面板未出现,再到vue-devtools
文件夹下执行一遍npm run dev
。
也可以在联网状态下,在Chrome
或Firefox
浏览器的扩展插件仓库里搜vue devtool
,安装Vue.js devtools
。
五、拓展阅读
this
指向组件实例,$el
用于获取Vue
实例挂载的DOM
元素,在mounted
生命周期中才有效,之前的钩子函数内无效。如下代码所示,Vue
脚手架中,$el
指向当前组件template
模板中的根标签。
<template>
<div id="root">
<h1 @click="fn()">
Lorem, ipsum
</h1>
</div>
</template>
<script>
export default {
mounted () {
// this.$el只在mounted中才有效
console.log('this:', this) // 打印this指向组件实例。
console.log('this.$el:', this.$el) // 打印这个vue组件的dom对象
this.$el.style.color = 'red'
},
methods: {
fn () {
console.log('test_this.$el:', this.$el) // <div id="root">...</div>
}
}
}
</script>
控制台输出:
在前期博文《Vue进阶(幺陆肆):vue自定义拖动指令》讲解了Vue
如何自定义拖拽指令,以上方法只是简单实现了元素的基本拖拽,在视图可视化编辑功能中,不仅需要对页面元素进行拖拽,而且还需要实现页面元素可编辑。
在开源项目(esview)基础上已经实现了页面元素属性可编辑,开源项目(vue-drag-resize)基础上实现了页面元素可拖拽功能,现需要对以上2个开源项目进行整合以实现元素可拖拽可编辑。这里涉及到自定义指令的封装。
- 点赞
- 收藏
- 关注作者
评论(0)