学习 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/


猜你喜欢
- 在使用过程中,一边看文档一边做,遇到了一些困难的地方,在此记录一下,顺便做个总结:1、前端分页2、后端分页3、模糊查询前端分页相当简单,在我
- 前言大家好,今天很开心有机会跟大家分享最近几年阿里在低代码领域的思考和实战。我是力皓,目前已经在前端和后端岗位工作了十多年了,近 3 年专注
- 获取百度的歌曲名,歌手和链接!! package webTools; import java.io.BufferedReader; impo
- 前言数十年以来, 传统的面向对象语言总是说方法属于类, 但 Go 不是这样做的: 它提供了方法, 但是并没有提供类和对象。 乍一看, 这种做
- 这篇文章主要介绍了Python如何基于smtplib发不同格式的邮件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习
- 文章出处:https://blog.csdn.net/sdksdk0/article/details/80933444作者:朱培
- 注入漏洞代码和分析<?php function customError($errno, $errstr, $errfile, $err
- 前言因为工作中经常用到这些方法,所有便把这些方法进行了总结。JavaScript 1. type 类型判断isString (o) { //
- 如果你看到别人写trim函数是用循环而不用正则表达式来写,请不要取笑,也许,他们就是高手。如果你很自信你的trim函数效率很高,请看完本文再
- 环境:ubuntu 16.04 python3.5 pycharm包 : wave pyaudio sys上代码:AudioPlayer.p
- 本文实例为大家分享了pycharm实现猜数游戏的具体代码,供大家参考,具体内容如下1. 设计界面如下所示,利用QTdesigner设计的界面
- DB存储层次结构(画了个草图,将就看一下...XD)管理表空间 &nb
- 本文实例为大家分享了java连接mysql底层封装代码,供大家参考,具体内容如下连接数据库package com.dao.db;import
- 参考OpenCV摄像头使用代码import cv2cap = cv2.VideoCapture(4) # 使用第5个摄像头(我的电脑插了5个
- 我们知道在国内使用 Docker,无论是 Pull、Build 还是 Push 镜像都十分慢,因为毕竟很多源都是国外的源,下载和上传慢是必然
- 目录1.根据默认的行列索引操作1.1行删除1.2列删除2.根据自定义的行列索引操作2.1行删除2.2列删除本文介绍Pandas中DataFr
- 内容导读TorchVision Transforms API 扩展升级,现已支持目标检测、实例及语义分割以及视频类任务。新 API 尚处于测
- 以下代码实现了ip查询功能处理程序 import os,timedef getip(filepath):
- Sklearn简介Scikit-learn(sklearn)是机器学习中常用的第三方模块,对常用的机器学习方法进行了封装,包括回归(Regr
- 一、SQL注入简介SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编写时的疏忽,通过SQL语句,