导航:首页 > 知识科普 > vue怎么调用另一个组件的方法

vue怎么调用另一个组件的方法

发布时间:2022-12-22 23:23:24

① vue 子父组件相互调用的方法 2018-11-09

以下内容只是我个人学习时的记录,可能与实际有偏差,大佬勿怪

1传值(父传子)
父组件给子组件传值 借助 props

父组件:
传一个叫做 put_child 的变量给子组件

子组件:
子组件在 props 中定义接受的变量,然后就能使用

2传值(子传父)
子组件给父组件传值,通过 $emit

父组件:
在父组件中绑定一个属性,同时定义一个方法接受,子组件发送过来的数据

子组件:
调用 $emit 传给父组件上绑定的属性,剩下的就是父组件处理了

3.调用方法(子调父)
目前只掌握了,同$emit传值给父一样,同上这里就不写出了

4.调用方法(父用子)
父组件:
在父组件中 ref 属性 定义一个变量,当我使用 this.$refs.变量 会把子组件对象返回,这样我们就可以调用子组件的方法

② vue兄弟组件之间方法调用

方法一:

父组件 index.vue   中含有两个兄弟组件 business.vue  及  detail.vue

当 business.vue中主协办分配选择完成后 需要刷新   detail.vue中的数据

在父组件中 的 business.vue组件上 定义触发的方法  <business @updateDate='updateDate'></business>

在父组件中 的  detail.vue组件上 定义触发的方法  < detail.vue ref='detail'></detail>

在兄弟组件中 主协办分配选择完成后showUserAssignData方法去触发父组件 index.vue的updateDate方法

在父组件中 updateDate方法去触发detail.vue组件中刷洗数据的方法

 方法二:采用公共bus方法---js方法

第二个子组件需要调用第二个子组件方法

在main.js中 注册一个公共实例并绑定到原型上

 Vue.prototype.$bus = new Vue()

在第一个子组件中注册一个方法 在created 或者mounted中注册

在兄弟组件中触发该方法

③ vue中父组件调用子组件的方法

方法一:通过ref直接调用子组件的方法;

方法二:通过$Children调用子组件方法(不推荐,获取到的可能不是index对应的)

④ vue直接在父组件中调用子组件的方法

方法一:

//父组件中   

引入子组件  然后点击调用子组件方法

<template>

  <div class="container">

    <h1 @click="handleClick" style="text-align: center">Musxc</h1>

    <LineChart ref="child" ></LineChart>

  </div>

</template>

<script>

import LineChart from "../components/LineChart.vue";

export default {

  components: {

    LineChart,

  },

  methods: {

        handleClick() {

              this.$refs.child.sing();

        },

  },

};

</script>

//子组件中 

我是子组件

export default {

  methods: {

    sing() {

      console.log('我是子组件的方法');

    },

  },

};

成功的调用了子组件的方法

方法二:通过组件的$emit、$on方法;

//父组件中   

        点击调用子组件方法           

    import Child from './child';

export default{    methods: {        handleClick() {              this.$refs.child.$emit("childmethod")    //子组件$on中的名字        },

    },

}//子组件中   

我是子组件

export default {

    mounted() {

        this.$nextTick(function() {

            this.$on('childmethods',function() {

                console.log('我是子组件方法');

            });

        });

    },

};

阅读全文

与vue怎么调用另一个组件的方法相关的资料

热点内容
开启手机功能的方法 浏览:322
如何了解消费者调查的方法 浏览:620
skf激光对中仪使用方法 浏览:170
哪里有下奶的土方法 浏览:647
桩基检测方法及数量表 浏览:453
怎么清理微信在电脑里的缓存在哪里设置方法 浏览:212
简易汽车手机支架安装方法 浏览:237
正压送风口安装方法 浏览:513
手机都有什么使用方法 浏览:402
迷你世界如何制作扁皮的方法 浏览:330
锻炼翘臀的方法 浏览:102
玉米淀粉检测方法 浏览:986
铠甲肌肉锻炼方法 浏览:227
诺特兰德b族食用方法 浏览:26
折纸可爱玫瑰花简单方法 浏览:172
榨菜种植方法百度网盘 浏览:257
vivo手机变遥控器的方法 浏览:861
拆盲袋的方法和步骤顺序 浏览:508
小孩的数学教学方法 浏览:368
怎么备份系统的方法 浏览:580