我是靠谱客的博主 快乐煎蛋,最近开发中收集的这篇文章主要介绍vue个人学习笔记——vue-cli各组件之间的事件调用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

    • 工具准备
    • 子组件children1的内部调用
    • 父组件调用子组件
    • 子组件调用父组件
    • 子组件之间的互相调用(完整代码)

工具准备

1.搭建好的vue-cli
2.app.vue父组件,children1   children2 两个子组件

子组件children1的内部调用

子组件children1代码

<template>
<div>
  <button @click="childevent_inside">
    子组件1调用内部function
  </button>
</div>
</template>

<script>

  export default {
    name: 'children1',

    methods:{
      childevent_inside (){
          alert('子组件1调用内部function成功');
      }
  }
</script>

<style scoped>

</style>

然后将其在父组件app.vue中使用即可

父组件调用子组件

父组件app.vue调用子组件children1.vue的function
在上面的children1代码methods中,加入

father_children (){
        alert("父组件调用子组件1成功");
      },

然后在app.vue父组件调用组件children1的时候,加上ref=’ ’

<children1 ref="child123"></children1>

在app.vue中的methods中写入

 father_children1 (){
      this.$refs.child123.father_children()
    },

child123与调用子组件中ref=''内容对应,father_children()则是子组件中要被触发的函数

子组件调用父组件

子组件children2.vue调用父组件app.vue的function
子组件children2.vue代码

<template>
  <div>
    <button @click="test1">
    子组件2调用父组件
    </button> 
  </div>

</template>

<script>
  export default {
    name: 'children2',
    methods:{
      test1(){
        this.$emit('child2_father')
      }
    }
  }
</script>

<style scoped>

</style>

在children2该组件内写一个button来触发test1函数,函数内执行this.$emit('child2_father'),然后还要在app.vue中调用children2子组件的时候,加上@child2_father="children2_father",其中children2_father为父组件app.vue中的函数。

子组件之间的互相调用(完整代码)

举例:子组件children2调用子组件children1中的function
思路:通过上面的两种调用方法,可以先用子组件children2调用父组件app.vue中的function A(),然后通过这个function A()来触发调用子组件children1中的函数,从而达到子组件children2调用子组件children1中的function的效果

子组件chilren1完整代码

<template>
<div>
  <button @click="childevent_inside">
    子组件1调用内部function
  </button>
</div>
</template>

<script>

  export default {
    name: 'children1',

    methods:{
      childevent_inside (){
          alert('子组件1调用内部function成功');
      },
      father_children (){
        alert("父组件调用子组件1成功");
      },

      children2_children1(){
        alert("子组件2调用子组件1成功");
      }
    },

  }
</script>

<style scoped>

</style>

子组件children2完整代码

<template>
  <div>
    <button @click="test1">
    子组件2调用父组件
    </button>
    <button @click="test2">
      子组件2调用子组件1
    </button>
  </div>

</template>

<script>
  export default {
    name: 'children2',
    methods:{
      test1(){
        this.$emit('child2_father')
      },
      test2(){
        this.$emit('child2_child1')
      }
    }
  }
</script>

<style scoped>

</style>

父组件app.vue完整代码

<template>
  <div>
    <children1 ref="child123"></children1>
    <button @click="father_children1">
    父组件调用子组件
    </button>
    <children2 @child2_father="children2_father" @child2_child1="children2_children1"></children2>
  </div>

</template>
<script>
import children1 from './components/children1'
import children2 from './components/children2'
export default {
  components: {
    children1,
    children2,
  },

  methods:{
    father_children1 (){
      this.$refs.child123.father_children()
    },

    children2_father(){
      alert("子组件2调用父组件成功");
    },

    children2_children1(){
      console.log("子组件2调用父组件成功,接下来由该方法调用子组件1");
      this.$refs.child123.children2_children1()
    }
  },
}

</script>

最后

以上就是快乐煎蛋为你收集整理的vue个人学习笔记——vue-cli各组件之间的事件调用的全部内容,希望文章能够帮你解决vue个人学习笔记——vue-cli各组件之间的事件调用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部