几个小知识点

目录

1.eval(字符串)=数组

2.为何v-for要绑定key

3.HTTP状态码

4.事件修饰符

5.常见的异步方法

6.用户跳过登录页直接输入地址跳转页面,程序是如何拦截的

7.watch和computed

8.下载

9.拷贝

10.import引入和link引入的区别

11.$mount和el

12.使用ref获取Dom


1.eval(字符串)=数组

2.为何v-for要绑定key

为了快速找到循环的节点,减少循环次数,提升渲染性能

3.HTTP状态码

    1XX--提示信息  100--继续  101--更改协议

    2XX--成功  200--客户端请求成功

    3XX--重定向   301--永久转移   302--暂时转移   304--未修改

    4XX--客户端错误   400--错误的请求   401--访问被拒绝   402--禁止访问   404--未找到

    5XX--服务端错误   500--服务器内部错误   503--服务不可用   504--网关超时

4.事件修饰符

.stop  是阻止冒泡行为,不让当前元素的事件继续往外触发,如阻止点击div内部事件,触发div事件

.prevent  是阻止事件本身行为,如阻止超链接的点击跳转,form表单的点击提交

.self  是只有是自己触发的自己才会执行,如果接受到内部的冒泡事件传递信号触发,会忽略掉这个信号

.capture  是改变js默认的事件机制,默认是冒泡,capture功能是将冒泡改为倾听模式

.once  是将事件设置为只执行一次,如 .click.prevent.once 代表只阻止事件的默认行为一次,当第二次触发的时候事件本身的行为会执行

.passive  滚动事件的默认行为 (即滚动行为) 将会立即触发,而不会等待 onScroll 完成。这个 .passive 修饰符尤其能够提升移动端的性能。

5.常见的异步方法

回调函数callback,事件监听,promise,async/await,ajax,定时器,then,catch

6.用户跳过登录页直接输入地址跳转页面,程序是如何拦截的

未登录直接跳转路由,获取不到token,发起请求时未携带token,那么在响应的response做拦截器预处理,会报错401然后重定向到登录页

7.watch和computed

watch常用于一个数据影响多个数据,可以监听数据从无到有,如果是监听数值的变化,需要加{deep:true}深度监听;

computed常用于一个数据受多个数据影响,即一个数据依赖于多个数据。

8.下载

import { saveAs } from 'file-saver'
downloadModelByIds(传参) // 调接口
        .then(({ data }: any) => {
            confirmLoading.value = false
            const filename = `${downloadNames.value}.zip` //设置文件名字
            const blob = new Blob([data], { type: 'application/zip' })
            saveAs(blob, filename)
        })
        .catch((error) => {
            confirmLoading.value = false
            console.log(`output->error`, error)
        })

9.拷贝

import useClipboard from 'vue-clipboard3'
const { toClipboard } = useClipboard()
const copyUrl = async (record: string, tip: string) => {
    try {
        // 复制
        await toClipboard(record)
        message.success(`${tip}拷贝成功`)
        // 复制成功
    } catch (e) {
        // 复制失败
        message.error(`${tip}拷贝失败`)
    }
}

10.import引入和link引入的区别

1.link属于XHTML标签,除了加载CSS外,还能用于定义RSS, 定义rel连接属性等作用,而@import是CSS提供的,只能用于加载CSS;

2.页面被加载的时,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载;

3.import只在IE5以上才能被识别,而link是XHTML标签,无兼容问题。

11.$mount和el

$mount和el都是用来将vue实例挂载到dom上的

区别:el是自动挂载,$mount是手动挂载(灵活一点)

12.使用ref获取Dom

<input type="text" id="input_box" ref="inputRef">

使用ref获取            const dom = this.$refs.inputRef

ref 被用来给元素或子组件注册引用信息。引用信息将会注册在父组件的 $refs 对象上 ,如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素;如果用在子组件上,引用就指向组件实例。

注意:$refs 是一个对象,持有已注册过 ref 的所有的子组件。

使用id获取              const dom  = document.getElementById("input_box")

这两种方法获得的都是Dom节点,而$refs相对document.getElementById的方法,会减少获取dom节点的消耗。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值