vue.js父组件如何触发子组件中的方法

2019-06-08  本文已影响0人  燕自浩

什么是组件?

组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能。在有些情况下,组件也可以表现为用 is 特性进行了扩展的原生 HTML 元素。

所有的 Vue 组件同时也都是 Vue 的实例,所以可接受相同的选项对象 (除了一些根级特有的选项) 并提供相同的生命周期钩子。

使用组件

示例:

  子组件:

<template>

  <div>

    child

  </div>

</template>

<script>

  export default {

    name: "child",

    props: "someprops",

    methods: {

      parentHandleclick(e) {

        console.log(e)

      }

    }

  }

</script>

  父组件:

<template>

  <div>

    <button @click="clickParent">点击</button>

    <child ref="mychild"></child>

  </div>

</template>

<script>

  import Child from './child';

  export default {

    name: "parent",

    components: {

      child: Child

    },

    methods: {

      clickParent() {

        this.$refs.mychild.parentHandleclick("嘿嘿嘿");

      }

    }

  }

</script>

注意:

   1、在子组件中:<div></div>是必须要存在的

  2、在父组件中:首先要引入子组件 import Child from './child';

    3、 <child ref="mychild"></child>是在父组件中为子组件添加一个占位,ref="mychild"是子组件在父组件中的名字

    4、父组件中 components: {  是声明子组件在父组件中的名字

      5、在父组件的方法中调用子组件的方法,很重要  this.$refs.mychild.parentHandleclick("嘿嘿嘿");

上一篇 下一篇

猜你喜欢

热点阅读