登录  /  注册
首页 > 常见问题 > 正文
vue组件传值方式有哪些
ZY
发布: 2023-07-03 11:23:13
原创
322人浏览过

vue组件传值的方法:1、使用props传递数据,父组件通过HTML属性的方式将数据传递给子组件,子组件通过props来接收传递过来的数据;2、使用$emit触发事件传递数据,子组件使用$emit触发自定义事件,父组件通过v-on来监听子组件自定义事件;3、使用provide/inject进行跨层级传值,父组件通过provide提供数据,子组件中使用inject来接收数据。

vue组件传值方式有哪些

本教程操作环境:Windows10系统、dell g3电脑。

Vue组件之间的传值可以通过三种方式实现:props、$emit和provide/inject。

使用props传递数据:

在父组件中通过HTML属性的方式将数据传递给子组件。子组件通过props来接收父组件传递过来的数据。

父组件:

<template>
  <div>
    <ChildComponent :message="message"/>
  </div>
</template>
<script>
import ChildComponent from 'ChildComponent.vue';
export default {
  components: {
    ChildComponent
  },
  data() {
    return {
      message: 'Hello'
    }
  }
}
</script>
登录后复制

子组件:

<template>
  <div>
    {{ message }}
  </div>
</template>
<script>
export default {
  props: {
    message: String
  }
}
</script>
登录后复制

使用$emit触发事件传递数据:

在子组件中使用$emit来触发自定义事件,并将需要传递的数据作为参数传递出去。父组件中通过v-on来监听子组件的自定义事件,并获取传递的数据。

父组件:

<template>
  <div>
    <ChildComponent v-on:custom-event="updateData"/>
  </div>
</template>
<script>
import ChildComponent from 'ChildComponent.vue';
export default {
  components: {
    ChildComponent
  },
  data() {
    return {
      message: ''
    }
  },
  methods: {
    updateData(data) {
      this.message = data;
    }
  }
}
</script>
登录后复制

子组件:

<template>
  <div>
    <button @click="updateMessage">Update Message</button>
  </div>
</template>
<script>
export default {
  methods: {
    updateMessage() {
      this.$emit('custom-event', 'New Message');
    }
  }
}
</script>
登录后复制

使用provide/inject进行跨层级传值:

在父组件中通过provide提供数据,然后在子组件中使用inject来接收数据。

父组件:

<template>
  <div>
    <ChildComponent />
  </div>
</template>
<script>
import ChildComponent from 'ChildComponent.vue';
export default {
  components: {
    ChildComponent
  },
  provide() {
    return {
      message: 'Hello'
    }
  }
}
</script>
登录后复制

子组件:

<template>
  <div>
    {{ message }}
  </div>
</template>
<script>
export default {
  inject: ['message']
}
</script>
登录后复制

以上就是Vue组件传值的三种方式。根据具体场景和需求,可以选择适合的方式来进行组件之间的数据传递。

以上就是vue组件传值方式有哪些的详细内容,更多请关注php中文网其它相关文章!

相关标签:
来源:Vue,Vue组件,网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 技术文章
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2023 //m.sbmmt.com/ All Rights Reserved | 苏州跃动光标网络科技有限公司 | 苏ICP备2020058653号-1

 | 本站CDN由 数掘科技 提供

登录PHP中文网,和优秀的人一起学习!
全站2000+教程免费学