ES新特性实践(获取用户信息、Proxy代理用户信息、图片上传至阿里云(input标签、可选链)、按需加载)

获取用户信息

涉及的知识点:async/await、解构赋值、axios
该部分就是通过axios来获取一个地址中的用户信息,算是很简单的一块。
主要是加深了async/await和解构赋值的使用
代码:
使用了async/await

import axios from 'axios'
async created () {
   
    // 解构赋值
    const {
    data } = await axios.get(this.url)
    }

没使用async/await

  created () {
   
    axios.get(this.url).then(res => {
   
      this.user_list = res.data
      console.log(res.data)
    })
  }
  1. 对于node_modules里面的API,在引用时直接写名字就可以,不用写地址。
  2. 由于内部有异步操作,所以这个created()钩子函数就是一个异步函数了,async要写在这个钩子函数前。
  3. 对于获得的数据,比如这个例子中我们只用得到data属性,使用解构赋值可以精简代码。
  4. 经过前面的学习知道,await后面要跟一个Promise对象,所以可知axios其实也是一个Promise的封装,那么如果不使用async就要使用Promise的基本方法来处理信息了。

Proxy代理用户信息

涉及知识点:Proxy对于数据的处理、sort()、concat()
之前只晓得Proxy的原理,但是对于具体的应用还是没有概念很模糊的。
首先要梳理一下Proxy的特点,相比较于Object.defineProperty(),Proxy是针对整个对象,而不是单一属性的,所以我们可以通过拦截函数中的逻辑来选择属性进行操作。

代码:
基于上面获取用户信息的代码,通过Proxy来代理用户信息。

  1. 如代码中所示,Proxy可以通过对key值进行判断然后再进行所需属性的操作。(这里需要注意的一点是,对于本身没有的属性,可以直接通过自定义属性的方式访问,比如const a = obj.prop)
  2. 如果不想修改原数组而只是返回一个修改后的值,对于数组可以使用concat()方法,对于对象可以使用assign()方法.
  3. 对于sort()方法的进一步理解。(字符串不能直接用)
    参数:可选。规定排序顺序。必须是函数。
    返回值:对数组的引用。请注意,数组在原数组上进行排序,不生成副本。
    参数的原理:如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
    若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
    若 a 等于 b,则返回 0。
    若 a 大于 b,则返回一个大于 0 的值。

    sort()方法是按字符编码进行排序的,所以对于字母也可以进行排序,在下面例子中想通过对象的name属性进行排序。
export default {
   
  data () {
   
    return {
   
      url: 'http://jsonplaceholder.typicode.com/users',
      user_list: []
    }
  },
  async created () {
   
    // 解构赋值
    const {
    data } = await axios.get(this.url)
    // 代理
    this.proxy = new Proxy({
   }, {
    // 哪些值要放data里?
      <
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值