vue一个vue页面调用另一个vue页面的方法
时间: 2023-06-27 10:03:55 浏览: 257
在 Vue 中,不同的 Vue 组件之间可以通过 props 传递数据,通过 $emit 触发事件来实现通信。如果需要在一个 Vue 页面中调用另一个 Vue 页面的方法,可以通过在父组件中引入子组件并通过 ref 给子组件起一个名字,然后在父组件中使用 this.$refs.子组件名.方法名() 来调用子组件中的方法。
举个例子,假设有两个组件 A 和 B,需要在组件 A 中调用组件 B 中的方法 fn:
```html
<!-- 组件 A -->
<template>
<div>
<button @click="callB">调用组件B的方法</button>
<B ref="b"></B>
</div>
</template>
<script>
import B from "./B.vue";
export default {
components: {
B,
},
methods: {
callB() {
this.$refs.b.fn();
},
},
};
</script>
```
```html
<!-- 组件 B -->
<template>
<div>
组件 B
</div>
</template>
<script>
export default {
methods: {
fn() {
console.log("调用了组件B的方法");
},
},
};
</script>
```
在上面的代码中,我们在组件 A 中引入了组件 B,并通过 ref 给组件 B 起了一个名字 b。然后在组件 A 的方法 callB 中,通过 this.$refs.b.fn() 调用了组件 B 的方法 fn。
阅读全文