点击事件写法踩坑
在实现 button 组件的点击事件,增加了节流模式,没有按照视频中的写法,自己的写法测试不通过:
vue
// 视频中写法
<script>
const handleClick = (e: MouseEvent) => emits('Ïclick', e)
const throttleClick = throttle(handleClick, props.throttleDuration)
</script>
<template>
<component
@click="(e:MouseEvent)=>props.useThrottle ? throttleClick(e) : handleClick(e)">
</component>
</template>
vue
// 我的写法
<template>
<component
@click="props.useThrottle ? throttleClick: handleClick">
</component>
</template>
这里乍一看好像没什么毛病,但其实第二种写法按官网说法,属于内联处理器:
onclick
而第二种写法最终的结**<font style="color:rgb(33, 53, 71);">throttleClick</font>**
**<font style="color:rgb(33, 53, 71);">handleClick</font>**
inheritAttrs
选项与v-bind="$attr"
结合使用$attrs
包含了所有父组件传递的属性,但不包括props
和class
、style
(除非你明确地将它们声明为props
)。
- lodash 的 omit 函数,可以从一个 js 对象中去除指定键的对象。