tnblog
首页
视频
资源
登录
这世间真的有很美的爱情,也有很温柔善良的女孩纸。
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
欢迎加群交流技术

vue组件之间函数调用

6123人阅读 2020/6/27 14:38 总访问:209588 评论:0 收藏:0 手机
分类: 前端

父组件调用子组件:

html:

<Child ref="myChild"></Child>

js:

// 父组件
// 引入子组件
import Child from './Child'
export default {
  // 注册子组件
  components: {Child},
  created () {
    // 调用子组件中的childMethod,需要给子组件添加属性ref
    this.$refs.myChild.childMethod("hello")
  },
  methods: {
      parentMethod (data) {
       console.log(data)
      }
  }
}

子组件:

// 子组件
export default {
    methods: {
        childMethod (data) {
            console.log(data)
        },
        parentMethod (data) {
            // 子组件调用父组件函数
            // 如何这样不行,可以考虑使用$emit、vuex等其他方法
            this.$parent.parentMethod(data)
        }
    }
}


子组件调用父组件:

父组件:

<template>
      <div class="wrapper">
            <VLink @parentMethod="macSelect"></VLink >
      </div>
</template>
<script>
import VLink from "../components/VLink.vue";  
export default{
    components:{
        VLink 
    },
    method:{
        macSelect(){
          alert("嘿嘿");
        }
    }
}
</script>

子组件:

<template>
    <div class="bet-action">
        <span class="mac-select" @click="childMethod">机选</span>
    </div>
</template>
<script>
    export default{
      methods: {
          childMethod() {
              console.log('请求父组件方法');
              this.$emit('parentMethod');  //使用$emit()引入父组件中的方法
          }
      },
    }
</script>



评价