vue中怎么让子组件修改父组件数据的方法

  介绍

这篇文章主要介绍了vue中怎么让子组件修改父组件数据的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

<强>一、关于vue中观看的认识

我们要监听一个属性的的变化就使用看一般是父组件传递给子组件的时候

<强> ?1、常见的使用场景

…   看:{   价值才能(val), {   ,,,console.log (val);   ,,,this.visible =, val;   ,,}   }   …

<>强吗?2,如果要一开始就执行

…   看:{   ,,firstName: {   ,,,处理程序(新名称,oldName), {   ,,,,,this.fullName =, newName  +, & # 39; & # 39;, +, this.lastName;   ,,,},   立即,,,,,真的,   ,,}   }   …

<>强吗? 3,深度监听(数组,对象)

…   看:{   obj才能:{   ,,,处理程序(新名称,oldName), {   ,,,console.log (& # 39;///& # 39;)   ,,},   直接的才能:,真的,   深才能:,真的,   }   …

<强>二、关于子组件修改父组件属性认识

在vue2.0 +后不再是双向绑定,如果要进行双向绑定需要特殊处理。

[Vue警告]:避免变异道具直接自价值时将被重写父组件重新呈现。相反,使用基于数据或计算属性> * *在子组件test1中* *   & lt; input 类型=皌ext", v模型=癰ook"/比;   & lt; button  @click=癮dd"祝辞添加& lt;/button>   & lt; p  v=?项目,,指数),of  books",:关键=癷ndex"在{{项}}& lt;/p>   …   方法:,{   ,,add (), {   ,,,//,直接把数据发送给父组件   ,,,,美元发出(& # 39;更新# 39;,,this.book);   ,,,this.book =, & # 39; & # 39;;   ,,},   },   * *在父组件中* *   & lt; test1 :书=癰ooks", @update=癮ddBook"祝辞& lt;/test1>   …   向(val), {   时间=this.books 才能;new 数组(val)   },

<>强? 2,使用。同步来让子组件修改父组件的值(其实是上面方法的精简版)

* *在父组件中,直接在需要传递的属性后面加上.sync * *   & lt; test4 : word.sync=皐ord"/比;   * *在子组件中* *   & lt; template>   & lt;才能div>   ,,,& lt; h4>{{词}}& lt;/h4>   ,,,& lt; input 类型=皌ext", v模型=皊tr",/比;   & lt;才能/div>   & lt;/template>   & lt; script>   export  default  {   ,,道具:{   ,,,词:,{   ,,,,,类型:,字符串,   ,,,,,默认值:,& # 39;& # 39;   ,,,},   ,,},   数据才能(),{   ,,,return  {   ,,,,,str:, & # 39; & # 39;   ,,,}   ,,},   ,,看:{   ,,,str (newVal, oldVal), {   ,,,,,//,在监听你使用更新事件来更新单词,而在父组件不需要调用该函数   ,,,,,,美元发出(& # 39;更新:词# 39;,,newVal);   ,,,}   ,,}   }   & lt;/script>

<强> ?3,在子组件中拷贝一份副本

* *子组件中* *   export  default  {   ,,道具:{   ,,,//,已经选中的   ,,,checkModalGroup:, {   ,,,,,:类型,数组,   ,,,,,默认值:,[],   ,,,,,要求:,假的,   ,,,}   ,,},   数据才能(),{   ,,,返回{   ,,,,,copyCheckModalGroup:, this.checkModalGroup,,//,选中的   ,,,}   ,,},   方法:才能,{   ,,,//,一个一个的选择   ,,,checkAllGroupChange(数据),{   ,,,,,//,把当前的发送给父组件   ,,,,,,美元发出(& # 39;updata& # 39;,,数据);   ,,,},   ,,},   ,,看:{   ,,,checkModalGroup (newVal, oldVal), {   ,,,,,this.copyCheckModalGroup =, newVal;   ,,,}   ,,}   }   * *父组件中直接更新传递给子组件的数据就可以* *   …//,更新子组件数据   roleCheckUpdata(数据),{   时间=this.roleGroup 才能;数据;   },   …

感谢你能够认真阅读完这篇文章,希望小编分享的“vue中怎么让子组件修改父组件数据的方法”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

vue中怎么让子组件修改父组件数据的方法