学习 Vue.js 遇到的那些坑
作者:shenlan 发布时间:2023-07-02 16:31:54
目录
类空指向
ES6 箭头函数
vuetify
vue-cli
异步和同步
运行和部署
TIPS
排名不分先后
最近好像都是只发了一些生活类,吐槽的一些 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 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
这里只记录一些刚开始玩的项目,在后面的开发里,还会遇到更多问题。
例如页面之间的刷新,等等等等。
所以很快就会有下一章的。
希望能帮到你。
来源:https://blog.inmind.ltd/index.php/archives/56/
猜你喜欢
- 今天在GOOGLE上查图片资料,这一幕真让我纠结啊:使用【向前】【向后】这种说法,就默认了有一个对比坐标,那就是当前显示的4张缩略图。点击【
- 概述分库分表后设计到的第一个问题就是,如何选择路由key,应该如何对key进行路由。路由key应该在每个表中都存在而且唯一。路由策略应尽量保
- 一、什么是嵌入类型先看如下代码:type user struct { name string &nb
- 除了使用xlrd库或者xlwt库进行对excel表格的操作读与写,而且pandas库同样支持excel的操作;且pandas操作更加简介方便
- 本文实例讲述了Python机器学习库scikit-learn安装与基本使用。分享给大家供大家参考,具体如下:引言scikit-learn是P
- 这些代码里含有弹窗设计,可以根据好友选择来进入不同画面,简单有趣的中秋礼物哦这是我第一次用turtle画画,水平有限,如有问题,请指正哦!(
- 中国互联网协会与Google(谷歌)公司联合主办“Internet+ 互联网世纪论坛”,AJAX技术的发明人Jesse James Garr
- 昨天在做mergeCSS的时候遇到两个正则匹配的问题,也花了不少的时间,最后在CSS森林群的 CE 同学帮助下,才完成了这俩正则,特别记录下
- 官方函数DataFrame.locAccess a group of rows and columns by label(s) or a b
- 一、描述在利用django做网络开发的时候我们会遇到一个问题就是,我们建立了多张数据表,但是多张数据表中的内容是不一样的,但是之间有着联系比
- 简介:numba是Anaconda公司开发的针对Python的开源JIT编译器,用于提供Python版CPU和GPU编程,速度比原生Pyth
- 有向无环图拓扑排序是针对有向无环图(DAG, Directed Acyclic Graph)的具有以下性质:如果这个图不是 DAG,那么它是
- 描述给定一个序列(至少含有 1 个数),从该序列中寻找一个连续的子序列,使得子序列的和最大。 例如,给定序列 [-2,1,-3,4,-1,2
- 一、修改 sonar 配置 conf/sonar.properties修改 sonar 配置文件 conf/sonar.properties
- Socket服务器是网络服务中常用的服务器。使用go语言实现这个业务场景是很容易的。这样的网络通讯,需要一个服务端和至少一个客户端。我们计划
- 最近做了一个小项目,里面有一个需求需要添加一个动态进度条,进度条的样式就类似于水波来回起伏的那种形状,下面就是最初的展示效果(有一点区别,这
- 1、注释默认的SQLite3配置:blogproject/settings.py'''DATABASES = { &
- Python操作Mysql最近在学习python,这种脚本语言毫无疑问的会跟数据库产生关联,因此这里介绍一下如何使用python操作mysq
- 前几天,Opera宣布其用户已经超过1亿——桌面版和手机版均超过5000万。Opera Mini是一个很优秀的手机浏览器,对手机用户而言,O
- 在计算机信息技术中,少有象类似 XML 那样的技术,她让人们产生范围很大的联想,而这些联想及其应用又可能相距甚远。她也更多引起人们对 XML