摘抄一些Vue的小技巧
监听组件声明周期
使用 @hook
即可监听组件生命周期。同样的, created 、 updated 等也可以使用此方法。
|
|
程序化事件侦听器
在组件销毁时要移除侦听器,肯定写过以下代码。this.timer 唯一的作用只是为了能够在 beforeDestroy 内取到计时器序号,除此之外没有任何用处。
|
|
可以通过 $on 或 $once 监听页面生命周期销毁来解决这个问题:
|
|
CSS样式穿透
样式穿透在css预处理器中使用才生效。
- less 使用
/deep/
|
|
- scss 使用
::v-deep
|
|
- stylus使用
>>>
|
|
路由参数解耦
|
|
将路由的 props 属性设置为 true 后,组件内可通过 props 接收到 params 参数。
|
|
另外还可以通过函数模式来返回 props
|
|
事件参数$event
$event
是事件对象的特殊变量,在一些场景能给我们实现复杂功能提供更多可用的参数
- 原生事件:在原生事件中表现和默认的事件对象相同
|
|
- 自定义事件:在自定义事件中表现为捕获从子组件抛出的值
|
|
|
|
watch高阶使用
- 立即执行
watch 是在监听属性改变时才会触发,有些时候,我们希望在组件创建后 watch 能够立即执行
|
|
- 深度监听
在监听对象时,对象内部的属性被改变时无法触发 watch ,我们可以为其设置深度监听
|
|
- 触发监听执行多个方法
使用数组可以设置多项,形式包括字符串、函数、对象
|
|