【关于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();
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue中,组件可以通过props将数据传递给组件,而组件可以通过事件向组件发送消息。如果你想要在组件触发组件方法,可以使用ref来引用组件,并通过该引用调用组件方法。 首先,在组件中,使用ref属性给组件添加一个引用名称。例如: ```html <template> <div> <child-component ref="child"></child-component> <button @click="triggerChildMethod">触发组件方法</button> </div> </template> <script> import ChildComponent from './ChildComponent.vue'; export default { components: { ChildComponent }, methods: { triggerChildMethod() { this.$refs.child.childMethod(); } } } </script> ``` 在上面的例中,我们给组件添加了一个引用名称`child`,然后在组件的`triggerChildMethod`方法中,通过`this.$refs.child`来获取组件的实例,并调用组件的`childMethod`方法。 接下来,在组件中,定义一个方法组件调用。例如: ```html <template> <div> <p>{{ message }}</p> </div> </template> <script> export default { data() { return { message: 'Hello from child component' } }, methods: { childMethod() { console.log('Child method triggered'); // 在这里编写你想要执行的逻辑 } } } </script> ``` 在上面的例中,我们定义了一个`childMethod`方法,当组件调用该方法时,在控制台输出`Child method triggered`。 这样,当组件中的按钮被点击时,就触发组件方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值