PHP前端开发

vue父组件怎么修改数据

百变鹏仔 3个月前 (09-25) #VUE
文章标签 组件
父组件修改子组件数据有三种方法:1. 传递 props,将数据通过 props 绑定到子组件并修改父组件中数据;2. 事件监听,子组件监听父组件事件并修改内部状态;3. provider/inject,父组件提供数据状态,子组件通过注入更新内部状态。

Vue 父组件如何修改子组件数据

在 Vue.js 开发中,父组件可以通过以下方法修改子组件的数据:

1. 传递 Props

示例:

立即学习“前端免费学习笔记(深入)”;

// 父组件<template><child-component :data="myData"></child-component></template><script>export default {  data() {    return {      myData: 10    }  }}</script>// 子组件<template><div>{{ data }}</div></template><script>export default {  props: ['data'],  data() {    return {      // 也可以使用 props 的默认值      data: this.data || 0    }  }}</script>

2. 事件监听

示例:

立即学习“前端免费学习笔记(深入)”;

// 父组件<template><button>+</button>  <child-component :data="myData"></child-component></template><script>export default {  data() {    return {      myData: 10    }  },  methods: {    incrementData() {      this.myData++;      this.$emit('dataUpdated'); // 触发事件    }  }}</script>// 子组件<template><div>{{ data }}</div></template><script>export default {  props: ['data'],  data() {    return {      data: this.data || 0    }  },  mounted() {    // 监听父组件的事件    this.$on('dataUpdated', () => {      this.data++;    })  }}</script>

3. Provider/Inject

示例:

立即学习“前端免费学习笔记(深入)”;

// 父组件<template><provider-component><child-component></child-component></provider-component></template><script>export default {  provide() {    return {      myData: 10    }  }}</script>// 提供者组件<template><slot></slot></template><script>export default {  provide() {    return this.$parent.provide();  }}</script>// 子组件<template><div>{{ myData }}</div></template><script>export default {  inject: ['myData'],  data() {    return {      myData: this.myData || 0    }  }}</script>