总结vue实际开发过程中用到的知识点(持续更新)

引言

开始接触前端vue技术了,实际开发过程中也遇见了各种各样的小问题,用此文记录遇见的问题和解决方式。

  1. 做查询订单信息的工具,想根据接口返回的数组值,动态生成列表,效果类似如图
    在这里插入图片描述
    解决: 内使用 v-for 遍历接口返回的数组
    在这里插入图片描述

  2. 接口返回值有些字段过长,一行3个影响视觉效果,所以打算吧接口返回值的值很长的key先删除掉,最后单独按一行一个显示

    解决:有2个思路
    a. 使用computed处理数据,delete删除key
    在这里插入图片描述
    b.使用 v-if,利用indexOf函数,判断不是该key的时候渲染
    在这里插入图片描述

  3. 使用el-descriptions组件 ,单独处理长值时,key的返回值过长了,导致超出屏幕外,不是特别长的时候会自动换行
    在这里插入图片描述

    解决:用div包一层,加style属性break-all,会使el-descriptions内的文本自动换行
    在这里插入图片描述

  4. 单出处理的key有的长有的短,导致长的折行就很丑
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/136025c1a3cc4464b3255b8f32bd36c1.png

    解决:el-description组件使用labelClassName属性定义一个class,统一加一个样式,固定一个宽度
    在这里插入图片描述

    在这里插入图片描述

  5. 单独处理的key再没请求后端时就渲染了,期望点击按钮调用接口后再渲染
    在这里插入图片描述
    解决:使用v-show,在后端返回有值后显示,即当该值当key数量大于0的时候
    在这里插入图片描述

  6. 同步请求接口后,在执行后面逻辑
    使用async…await 将异步请求接口变为同步请求完成后在执行后续逻辑在这里插入图片描述

  7. 利用v-show=‘表达式’方式来判断组建显示条件
    在这里插入图片描述

  8. 使用scope.row操作表单的单行数据,row值为列表中的单个对象值
    在这里插入图片描述

  9. 处理数据,

  数组后面添加元素  a = [], a.push() 
  数组前面添加元素 a.unshift()
  字符串截取 a='',a.substring(0,2)
  字符串分割 a=‘’,a.split('/')
  查找数组索引 a=[],a.findIndex((item) => item.属性 === ' ')
  数组转字符串:a=[],a.toString()
  1. 时间戳转换
formatDate(timestamp) {
      let date = new Date(timestamp * 1000) // 时间戳为10位需*1000,时间戳为13位的话不需乘1000
      const Y = date.getFullYear() + '-'
      const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
      const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '
      const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'
      const m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':'
      const s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds())
      return Y + M + D + h + m + s
    },
  1. 间隔时间,类似php的sleep函数,同步调用
sleep(numberMillis) {
      return new Promise((resolve => {
        setTimeout(() => resolve(), numberMillis)
      }))
    },
 async deployService(rowData) {
      rowData.isProcess = true
      rowData.percent = 0
      while (!rowData.isDone) {
        await this.sleep(this.deployCost)
        rowData.percent = rowData.percent + 10
}  
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一个常规的登录页面在 Vue 可能涉及以下知识点: 1. Vue 组件:使用 Vue 的组件系统构建登录页面,将页面划分为多个组件,例如登录表单组件、注册链接组件、忘记密码组件等,以便于组织和管理不同部分的逻辑和样式。 2. 表单处理:使用表单元素(如 input、button)和表单绑定指令(如 v-model)来处理用户输入和表单验证。通过监听表单提交事件(如 @submit)来触发登录操作,并在合适的时候进行表单验证。 3. 路由管理:使用 Vue Router 来管理页面的路由,包括登录页面的路由配置和导航。当用户点击登录链接或提交表单时,可以通过编程式导航进行页面跳转。 4. 数据交互:使用 AJAX 或者基于 Promise 的 HTTP 库(如 axios)与后端进行数据交互。在登录页面,需要向后端发送登录请求,并处理后端返回的结果,例如验证用户凭据、获取用户信息等。 5. 状态管理:使用 Vuex 进行全局状态管理,例如登录状态、用户信息等。通过 Vuex,可以在不同组件之间共享和更新状态,实现登录状态的持久化和共享。 6. 前端验证:在前端对用户输入进行基本的验证,例如检查用户名和密码是否为空、是否符合格式要求等。可以使用 Vue 的计算属性、自定义指令等功能来实现验证逻辑。 7. 错误处理:处理后端返回的登录错误,例如显示错误消息或者进行相应的跳转。 8. 样式设计:使用 CSS 来美化页面,包括登录表单的布局、样式和交互效果。 这些是常规登录页面可能涉及到的一些关键知识点,具体的实现方式可能会根据项目需求和开发者的个人选择而有所不同。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值