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>