学习 Vue.js 遇到的那些坑


Posted in Vue.js onFebruary 02, 2021

排名不分先后

最近好像都是只发了一些生活类,吐槽的一些 blog,不更新点技术相关的 可能有人会觉得 这家伙肯定又在偷懒了。

那么 好 我要开始装逼了

类空指向

就是类似于空指针的一种错误方式 不会在 console 上报错 非常难找的问题

resp.data.user.avatar

//如果这个user是null的话 这么调用不会报错 也不会向下执行 非常坑

//如果你想判断这个avatar的话 要这么做

if(resp.data.user && resp.data.user.avatar){
 //do...
}

ES6 箭头函数

箭头函数和非箭头函数也是有很大区别的

//普通匿名函数写法
api()
.then(function(resp){
 this.count()
 //注意这个this 不是能正常使用的 count会是个undefined
})


//ES6 箭头函数
api()
.then(resp => {
 this.count()
 //这里没毛病
})

vuetify

这是一个基于 Google Material 设计语言的 UI 框架,可以在 Vue.js 运行。

只是安装方式有点特殊,并且它的插件安装方式也很特殊。

例如 vuetify 的 dialog

import VuetifyDialog from 'vuetify-dialog'
import vuetify from './plugins/vuetify';

Vue.use(VuetifyDialog, {
 context: {
 vuetify
 }
})

这就导致你写 UI 的时候 要面向 Google 编程。(虽说其他后端语言也差不多 笑)

vue-cli

如果你是要新创建一个项目,并且这个项目规模不是特别大。

我非常推荐你使用 vue-cli 创建,说简单点儿 这会提升 b 格。

废话少说 上图

学习 Vue.js 遇到的那些坑

vue create your_project_name

vue ui

vue ui 会打开一个可视化页面 像是上图那样。

然后在里面导入由 vue-cli 创建的项目就可以和上图一样了 :)

异步和同步

其实之前有个非常蠢的想法。

就是在用户输完表单之后,立即和服务器进行验证,然后将结果刷新到 UI 上。

但是这个刷新 UI 需要一个同步操作。

我就一个劲的折腾怎么去搞定将 axios 的异步操作变成同步。

如果是之前的 jQuery 就非常简单么 只需要将里面的 aysnc 属性改掉就可以了。

但是你每次发请求 浏览器都会在 console 上提示 不推荐 XHR 同步请求。

为啥呢,因为浏览器里面页面是单线程的,如果你的请求是同步的,那么就会导致每个请求都会让页面卡住一定的时间。

所以我最后还是改成了逐步验证的方式 让所有的请求都是异步操作的。

运行和部署

如果你本地开发

运行 serve(有些项目是 dev) 会开放一个端口号 让你访问用户界面,并进行接近实时的 UI 调整。

如果你是要部署到线上 需要先执行 build 会在输出目录里面生成静态文件。

再把这些文件部署到服务器上 像是:

  • nginx
  • caddy

这里我非常推荐 caddy,它是一个基于 golang 开发的服务器,部署轻量化,并且带有管理 api,非常良好的支持 Http2,并且 支持 http3。

TIPS

这里只记录一些刚开始玩的项目,在后面的开发里,还会遇到更多问题。
例如页面之间的刷新,等等等等。

所以很快就会有下一章的。

希望能帮到你。

以上就是学习 Vue.js 遇到的那些坑的详细内容,更多关于学习 Vue.js 遇到的坑的资料请关注三水点靠木其它相关文章!

Vue.js 相关文章推荐
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
Dec 01 Vue.js
Vue与React的区别和优势对比
Dec 18 Vue.js
详解Vue的异步更新实现原理
Dec 22 Vue.js
Vue3 实现双盒子定位Overlay的示例
Dec 22 Vue.js
Vue过滤器,生命周期函数和vue-resource简单介绍
Jan 12 Vue.js
如何使用RoughViz可视化Vue.js中的草绘图表
Jan 30 Vue.js
Vue项目打包部署到apache服务器的方法步骤
Feb 01 Vue.js
如何让vue长列表快速加载
Mar 29 Vue.js
Vue全家桶入门基础教程
May 14 Vue.js
vue Element-ui表格实现树形结构表格
Jun 07 Vue.js
vue router 动态路由清除方式
May 25 Vue.js
Vue Mint UI mt-swipe的使用方式
Jun 05 Vue.js
Vue常用API、高级API的相关总结
Feb 02 #Vue.js
Vue项目打包部署到apache服务器的方法步骤
Feb 01 #Vue.js
如何在vue中使用video.js播放m3u8格式的视频
Feb 01 #Vue.js
Vue 实现可视化拖拽页面编辑器
Feb 01 #Vue.js
vue-video-player 断点续播的实现
Feb 01 #Vue.js
Vite和Vue CLI的优劣
Jan 30 #Vue.js
如何使用RoughViz可视化Vue.js中的草绘图表
Jan 30 #Vue.js
You might like
php4的session功能评述(二)
2006/10/09 PHP
php桌面中心(四) 数据显示
2007/03/11 PHP
PHP与SQL注入攻击[一]
2007/04/17 PHP
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
2011/12/05 PHP
php中ob函数缓冲机制深入理解
2015/08/03 PHP
微信开发之网页授权获取用户信息(二)
2016/01/08 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
2016/12/29 PHP
PHP使用JpGraph绘制折线图操作示例【附源码下载】
2019/10/18 PHP
JS动画效果代码3
2008/04/03 Javascript
模仿jQuery each函数的链式调用
2009/07/22 Javascript
HTA版JSMin(省略修饰语若干)基于javascript语言编写
2009/12/24 Javascript
基于jQuery替换table中的内容并显示进度条的代码
2011/08/02 Javascript
js iframe跨域访问(同主域/非同主域)分别深入介绍
2013/01/24 Javascript
手机平板等移动端适配跳转URL的js代码
2014/01/25 Javascript
5个JavaScript经典面试题
2014/10/13 Javascript
解决js下referer兼容各大浏览器的方法
2014/11/03 Javascript
node.js中的path.normalize方法使用说明
2014/12/08 Javascript
js 模仿锚点定位的实现方法
2016/11/19 Javascript
微信小程序-详解数据缓存
2016/11/24 Javascript
微信小程序 使用腾讯地图SDK详解及实现步骤
2017/02/28 Javascript
JavaScript之iterable_动力节点Java学院整理
2017/06/29 Javascript
JS无限级导航菜单实现方法
2019/01/05 Javascript
JavaScript实现简单的图片切换功能(实例代码)
2020/04/10 Javascript
Node.js API详解之 console模块用法详解
2020/05/12 Javascript
[27:53]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS iG
2014/05/26 DOTA
python+matplotlib实现动态绘制图片实例代码(交互式绘图)
2018/01/20 Python
Python urlopen()和urlretrieve()用法解析
2020/01/07 Python
python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例
2020/03/06 Python
欧舒丹澳洲版:L’OCCITANE
2017/07/17 全球购物
英国第一独立滑雪板商店:The Snowboard Asylum
2020/01/16 全球购物
股东合作协议书
2014/04/14 职场文书
2014年煤矿安全工作总结
2014/12/04 职场文书
2015年端午节活动总结
2015/02/11 职场文书
员工考勤管理制度
2015/08/06 职场文书
大学生学习十八届五中全会精神心得体会
2016/01/05 职场文书
标准演讲稿格式结尾应该怎么书写?
2019/07/17 职场文书