vue2项目:快速创建vue页面模板+aixos和Message的挂载+async与await的异步操作

简介: vue2项目:快速创建vue页面模板+aixos和Message的挂载+async与await的异步操作

今天继续写一下关于vue项目中所写的东西

1.vue页面的模板快速创建

新建一个模板之后输入vue然后点击回车就可以直接出现模板了

这种快捷键创建模板怎么弄?

你只需要在vscode上安装一个插件就好,我的是vue2项目安装了一个vue2 snippets

2. aixos和Message的挂载

在写vue项目的时候经常要发起axios请求还有就是那个提示框请求失败和成功的信息框

所以可以这样写一层axios封装

1. //在main.js中
2. //导入网络请求的包
3. import axios from 'axios'
4. //配置请求的根路径,这样子就都有网址的请求路径就都会加这一个固定的前缀减少输入
5. axios.defaults.baseURL='http://网络地址:端口号/后缀'
6. // 把axios这个包挂载到原型对象上
7. // 添加到vue.prototype.$http后,可以在每一个组件上通过
8. // this.$http获取axios 不必每个页面都import  axios   $http是自定义的属性名,可以随便起
9. Vue.prototype.$http=axios
this.$http.get('路径' + 参数)

消息提示框是用的element ui

所以就是这样子

1. import  Message from 'element-ui'
2. //挂载消息提示组件到原型中,这样子就方便用this调用
3. Vue.prototype.$message=Message

然后在页面里面调用的时候就是这样子写

1. this.$message.error('失败提示文字')
2. 
3. this.$message.success('成功提示文字')

3.async与await的异步操作

首先介绍一下这个是什么

async和await是JavaScript中处理异步操作的语法糖,它们使得异步代码的编写和阅读更加简洁和直观。

async函数:async函数是一个特殊类型的函数,它内部包含异步操作。通过在函数声明前加上async关键字,函数就变成了一个async函数。在async函数中,可以使用await关键字来暂停函数的执行,等待异步操作的结果。

await表达式:await只能在async函数内部使用。它用于暂停async函数的执行,等待一个Promise对象的解析结果。当遇到await表达式时,函数会暂停执行,直到Promise对象被解析为成功状态并返回结果,然后将该结果赋给变量。这使得在异步操作返回结果之前,代码可以按照同步的方式编写。

这里就额外扩展一下异步编程:

1. JavaScript 中的异步机制可以分为以下几种:
2. 回调函数 的方式,使用回调函数的方式有一个缺点是,多个回调函
3. 数嵌套的时候会造成回调函数地狱,上下两层的回调函数间的代码耦
4. 合度太高,不利于代码的可维护。
5. Promise 的方式,使用 Promise 的方式可以将嵌套的回调函数作为
6. 链式调用。但是使用这种方法,有时会造成多个 then 的链式调用,
7. 可能会造成代码的语义不够明确。
8. generator 的方式,它可以在函数的执行过程中,将函数的执行权转
9. 移出去,在函数外部还可以将执行权转移回来。当遇到异步函数执行
10. 的时候,将函数执行权转移出去,当异步函数执行完毕时再将执行权
11. 给转移回来。因此在 generator 内部对于异步操作的方式,可以以
12. 同步的顺序来书写。使用这种方式需要考虑的问题是何时将函数的控
13. 制权转移回来,因此需要有一个自动执行 generator 的机制,比如
14. 说 co 模块等方式来实现 generator 的自动执行。
15. async 函数 的方式,async 函数是 generator 和 promise 实现的
16. 一个自动执行的语法糖,它内部自带执行器,当函数内部执行到一个
17. await 语句的时候,如果语句返回一个 promise 对象,那么函数将
18. 会等待 promise 对象的状态变为 resolve 后再继续向下执行。因此
19. 可以将异步逻辑,转化为同步的顺序来书写,并且这个函数可以自动
20. 执行

我个人觉得async函数是用的最舒服的

接下来就是展示用法结合aixos和message

1. // 展示编辑用户的对话框
2.     async showEditDialog(id) {
3. // console.log(id);
4.       const { data: res } = await this.$http.get('users/' + id)
5. if (res.meta.status !== 200)
6. return this.$message.error('查询用户信息失败!')
7.       this.editForm = res.data
8.       this.editDialogVisible = true
9.     },

这里是一个展示编辑用户对话框的请求

async的操作会返回一个promise所以需要用到const { data: res }去解构赋值

然后验证服务器返回状态码是否合格不然就弹出错误消息提示

然后就将数据赋值到本页面的data return的一个值进行保存然后去进行使用

再显示对话框

4.额外再说解构赋值的意思

解构赋值是一种从数组或对象中提取值并将其赋给变量的语法。在这个例子中,使用了对象解构赋值,通过{ data: res }的语法,将响应对象的data属性的值赋给res变量。

下面是解构赋值的一些特点和语法:

  1. 解构赋值可以用于数组和对象。在这个例子中,使用的是对象解构赋值。
  2. 解构赋值通过{}中指定的模式来匹配对象的结构,并将对应的属性值赋给变量。
  3. 变量的名称可以与属性名不同,通过使用冒号:来指定新的变量名。在这个例子中,属性名为data,而变量名为res
  4. 解构赋值可以嵌套使用,以便提取更深层次的属性值。

在这段代码中,解构赋值的目的是从HTTP响应中获取res.data的值,并将其赋给res变量。然后根据res.meta.status的值进行条件判断和后续操作。

请注意,这里的解构赋值是通过const { data: res }来实现的,其中const是用于声明常量的关键字。这表示res是一个常量,一旦赋值就不能再修改它的值。


相关文章
|
4天前
|
缓存 JavaScript 前端开发
vue学习第四章
欢迎来到我的博客!我是瑞雨溪,一名热爱JavaScript与Vue的大一学生。本文介绍了Vue中计算属性的基本与复杂使用、setter/getter、与methods的对比及与侦听器的总结。如果你觉得有用,请关注我,将持续更新更多优质内容!🎉🎉🎉
vue学习第四章
|
4天前
|
JavaScript 前端开发
vue学习第九章(v-model)
欢迎来到我的博客,我是瑞雨溪,一名热爱JavaScript与Vue的大一学生,自学前端2年半,正向全栈进发。此篇介绍v-model在不同表单元素中的应用及修饰符的使用,希望能对你有所帮助。关注我,持续更新中!🎉🎉🎉
vue学习第九章(v-model)
|
4天前
|
JavaScript 前端开发 开发者
vue学习第十章(组件开发)
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。本文深入讲解Vue组件的基本使用、全局与局部组件、父子组件通信及数据传递等内容,适合前端开发者学习参考。持续更新中,期待您的关注!🎉🎉🎉
vue学习第十章(组件开发)
|
10天前
|
JavaScript 前端开发
如何在 Vue 项目中配置 Tree Shaking?
通过以上针对 Webpack 或 Rollup 的配置方法,就可以在 Vue 项目中有效地启用 Tree Shaking,从而优化项目的打包体积,提高项目的性能和加载速度。在实际配置过程中,需要根据项目的具体情况和需求,对配置进行适当的调整和优化。
|
23天前
|
存储 JavaScript 前端开发
vue3的脚手架模板你真的了解吗?里面有很多值得我们学习的地方!
【10月更文挑战第21天】 vue3的脚手架模板你真的了解吗?里面有很多值得我们学习的地方!
vue3的脚手架模板你真的了解吗?里面有很多值得我们学习的地方!
|
10天前
|
存储 缓存 JavaScript
在 Vue 中使用 computed 和 watch 时,性能问题探讨
本文探讨了在 Vue.js 中使用 computed 计算属性和 watch 监听器时可能遇到的性能问题,并提供了优化建议,帮助开发者提高应用性能。
|
10天前
|
存储 缓存 JavaScript
如何在大型 Vue 应用中有效地管理计算属性和侦听器
在大型 Vue 应用中,合理管理计算属性和侦听器是优化性能和维护性的关键。本文介绍了如何通过模块化、状态管理和避免冗余计算等方法,有效提升应用的响应性和可维护性。
|
10天前
|
存储 缓存 JavaScript
Vue 中 computed 和 watch 的差异
Vue 中的 `computed` 和 `watch` 都用于处理数据变化,但使用场景不同。`computed` 用于计算属性,依赖于其他数据自动更新;`watch` 用于监听数据变化,执行异步或复杂操作。
|
9天前
|
JavaScript 前端开发 UED
vue学习第二章
欢迎来到我的博客!我是一名自学了2年半前端的大一学生,熟悉JavaScript与Vue,目前正在向全栈方向发展。如果你从我的博客中有所收获,欢迎关注我,我将持续更新更多优质文章。你的支持是我最大的动力!🎉🎉🎉
|
11天前
|
存储 JavaScript 开发者
Vue 组件间通信的最佳实践
本文总结了 Vue.js 中组件间通信的多种方法,包括 props、事件、Vuex 状态管理等,帮助开发者选择最适合项目需求的通信方式,提高开发效率和代码可维护性。
下一篇
无影云桌面