首页
归档
笔记
树洞
搜索
友言

文章详情

Interesting People Record Interesting.

/ JavaScript / 文章详情

vue组件无亲属关系调用方法

Sonder
2021-08-13
656字
2分钟
浏览 (3.3k)

组件无亲属(差别)关系调用方法,意思就是不管你是否为兄弟、父子关系,只要调用了定义的方法就能触发

一、inject和provide

任意组件注入:

复制代码
// @click="closeSearch"
closeSearch() {
   this.reload();
}
复制代码
// 注入方法
inject: ['reload'],

任意组件接收:

复制代码
// 接收
provide() {
   return {
       reload: this.reload,
   };
},
methods: {
   reload() {
       console.log('来了么,小老弟')
   }
}

二、vBus

首先,你要创建一个文件

复制代码
import Vue from "vue";
export default new Vue();

任意组件发射:

复制代码
import VBus from "@/v-bus";
// 发射方法
VBus.$emit('closeSearchEvent');

任意组件接收:

复制代码
import VBus from "@/v-bus";
// 接收
created() {
  VBus.$on('closeSearchEvent',() => {
    this.searchName.keyReason = null;
    NProgress.done()
  })
}
下一篇 / uniapp图片懒加载

🎯 相关文章

💡 推荐文章

🕵️‍♂️ 评论 (0)