【关于vue,父组件触发子组件里面的方法】
了解什么是组件?
组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能。在有些情况下,组件也可以表现为用 is 特性进行了扩展的原生 HTML 元素。
所有的 Vue 组件同时也都是 Vue 的实例,所以可接受相同的选项对象 (除了一些根级特有的选项) 并提供相同的生命周期钩子。
实际应用示例
子组件示例 child.vue
<!--
* 版权所有:xxxxxxx技术有限公司
* 描述:【关于vue,父组件触发子组件里面的方法】
* 作者:wangjj
* 版本 开发者 日期 描述
* 1.0.0.0 wangjj 2019/09/25 新建
-->
<template>
<div>
<!--比如说在另个页面清除这个表格数据-->
<Table :columns="columnsTab" :data="tempData" :height="300" border stripe></Table>
</div>
</template>
<script>
export default {
name: 'test',
data () {
return {
columnsTab: []
};
},
methods: {
/**
* 清除数据
*/
clearMethods () {
this.tempData = [];
}
}
};
</script>
<style scoped>
</style>
父组件示例
<template>
<div>
<button @click="clickParent">点击</button>
<child ref="clearData"></child>
</div>
</template>
<script>
import Child from './child';
export default {
name: "parent",
components: {
child: Child
},
methods: {
//可在父组件中彻底删除引入子组件的表格数据
clickParent() {
this.$refs.clearData.clearMethods();
}
}
}
</script>
需注意的几点问题:
1、在子组件中:<div></div>是必须要存在的
2、在父组件中:首先要引入子组件 import Child from './child';
3、 <child ref="clearData"></child>是在父组件中为子组件添加一个占位,ref="clearData"是子组件在父组件中的名字
4、父组件中 components: { 是声明子组件在父组件中的名字
5、在父组件的方法中调用子组件的方法,很重要 this.$refs.clearData.clearMethods();