【关于vue,父组件触发子组件里面的方法】

【关于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();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章