vue踩坑记(随时补充)

watch

  1. handler:执行器
  2. deep:深度监听
  3. immediate:立即执行

ref

生命周期

不能在模板上直接 $refs.refName 获取元素,因为此时还没绑定上 ref

v-for

v-for 下, ref 会变成数组

<div v-for="item in list" ref="list"></div>
this.$refs.list // 数组,存放所有 div

slot

使用形式与简写

组件中使用

<slot name="header"></slot>		<!-- name:具名还是匿名 -->
<slot :value="value"></slot>		<!-- 传递属性:作用域插槽 -->

this.$slots 访问静态插槽
this.$scopedSlots 访问作用域插槽

调用

<template v-slot:header></template>
<template v-slot:default="prop"></template>

<template #default="{value}"></template>		<!-- 简写 name,解构 prop -->

component 动态组件

component 必须是 :is 动态绑定

<component :is="compname"></component>

跨层级通信

eventBus

provide/inject

// parent.vue
import Vue from 'vue'

export default {
 data() {
   return {
     eventBus: new Vue()
   }
 },
 
 provide() {
   return {
     eventBus: this.eventBus
   }
 },

 created() {
 	this.eventBus.$on(
 	  "everyOneCanCall", 
 	  (caller) => console.log(`from ${caller}`)
 	)
 },
}
// child.vue
export default {
 inject: ["eventBus"],
 
 mounted() {
 	this.eventBus.$emit("everyOneCanCall", "child")
 },
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值