vue 子/父组件调用父/子组件方法&数据

子组件调用父组件的方法&数据

使用vue的 $parent 属性,在子组件中就能拿到父组件的数据或方法

获取父组件的数据

this.$parent.xxx

调用父组件的方法

this.$parent.xxx()
父组件调用子组件的方法&数据
//在页面中子组件展示例如:
components:{my-test:myTest},
//这里需要加上一个ref 
<my-test ref="myFeed"></my-test>

获取子组件的数据

this.$refs.xxx

调用子组件的方法

this.$refs.xxx()

### Vue2 父组件调用子组件方法修改子组件数据的实现方式 在 Vue2 中,父组件可以通过 `ref` 来获取子组件实例,并调用子组件中定义的方法来修改子组件数据。以下是一个完整的示例和实现方式。 #### 示例代码 ```html &lt;!-- 子组件 ChildComponent.vue --&gt; &lt;template&gt; &lt;div&gt; &lt;p&gt;子组件中的数据: {{ childData }}&lt;/p&gt; &lt;/div&gt; &lt;/template&gt; &lt;script&gt; export default { data() { return { childData: &quot;初始数据&quot; // 子组件的初始数据 }; }, methods: { updateChildData(newData) { this.childData = newData; // 修改子组件数据 } } }; &lt;/script&gt; ``` ```html &lt;!-- 父组件 ParentComponent.vue --&gt; &lt;template&gt; &lt;div&gt; &lt;child ref=&quot;child&quot;&gt;&lt;/child&gt; &lt;button @click=&quot;modifyChildData&quot;&gt;修改子组件数据&lt;/button&gt; &lt;/div&gt; &lt;/template&gt; &lt;script&gt; import Child from &quot;./ChildComponent.vue&quot;; export default { components: { Child }, methods: { modifyChildData() { const childComponent = this.$refs.child; if (childComponent &amp;&amp; typeof childComponent.updateChildData === &quot;function&quot;) { childComponent.updateChildData(&quot;新的数据&quot;); // 调用子组件方法并传参 } } } }; &lt;/script&gt; ``` #### 实现说明 1. **子组件定义方法** 在子组件中定义一个方法 `updateChildData`,用于接收父组件传递的参数并更新子组件数据[^1]。 2. **父组件通过 `ref` 获取子组件实例** 父组件通过 `ref=&quot;child&quot;` 获取子组件实例,并通过 `this.$refs.child` 调用子组件方法 `updateChildData`[^1]。 3. **触发按钮事件** 当用户点击按钮时,父组件调用子组件方法并传递新数据,从而实现对子组件数据的修改[^1]。 #### 注意事项 - 确保子组件方法已经正确定义,否则会抛出错误。 - 使用 `this.$refs` 获取子组件实例时,需要确保子组件已经被挂载到 DOM 中,通常在 `mounted` 生命周期之后使用。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值