所有分类
  • 所有分类
  • 后端开发
Vue中的神秘v-model:定制组件如何轻松搞定双向数据绑定?

Vue中的神秘v-model:定制组件如何轻松搞定双向数据绑定?

我们都清楚v-model其实就是vue的一个语法糖,用于在表单控件或者组件上创建双向绑定。vue中父子组件的props通信都是单向的。所以自定义组件是无法直接使用v-model来实现v-model双向绑定的。综上就实现了自定义组件中的双向数

嘿~告诉你个好玩儿的事儿!知道吗,Vue用的那几个你可能不太熟悉的“关键字”—— v-model 其实就像个有点小脾气的聊天机器人,能帮我们轻而易举地在表单控制和组件之间愉快地传递信息呐!

//表单控件上使用v-model

 
 
 
 
 
 {{name}}


export default{
 data(){
  return {
   name:"",
   checked:false,
  }
 }
}

记住,咱父子组件里传消息是单向滴,爸只能给孩子属性,然后孩子$emit通知爸爸。要都想聊天,就得自己搞个v-model!

给你个小技巧!想快速提取’父部件’ form的数据?那就先在相关的’子部件’C-Input中设定对的value属性,改下数据,再用$emit发信息给’父部件’。一触发‘input’事件,数据就能自动更新在form里面了!

切记要填上双倍数据捆绑!这对定制组件太关键了。没这玩意儿的话,你费劲搞出来的定制组件可能会没人知道,那就尴尬!

Vue中的神秘v-model:定制组件如何轻松搞定双向数据绑定?

//父组件

 
import cInput from "./components/Input" export default { components:{ cInput }, data() { return { form:{ name:"", password:"" }, } }, }

聊聊如何搞定这个问题呗!试试那个双向数据绑定的方法。记得在下面的小东西里,用 :value 拿到爸爸传过来的数据,动下手指搞个调整,最后用 $emit 把它发给父组件的 input 事件去。待这一切完成后,新的值又会传回到表格那边,双向数据绑定就这么轻松愉快!

//子组件 cInput

  


export default {
 props:{
  value:{
   type:String,
   default:"",
   required:true,
  }
 },
 data() {
  return {
   inputValue:this.value,
  }
 },
 methods:{
  handleInput(e){
   const value=e.target.value;
   this.inputValue=value;
   this.$emit("input",value);
  },
 }
}

你说,什么叫做双向数据绑定?没这玩意儿,咱们修改组件东西时,外面的父组件就不会跟着改变。那找毛病得多累!

别找了,快试试这个小技巧!首先,把爸爸那里传来的数字拿到孩子这边来;接着,直接在孩子这里动动手脚更改下;最后,借助一下$emit,给爸爸那个input事件炸个大炮,把改变过的数字还给表单去。这样一整套流程下来,咱们的自定义组件不就是轻松实现双数据绑定了!

都听懂了?现在咱们会双向绑定组件,超级棒,不仅编程用得上,其他方面也超实用。大伙儿快来帮帮忙!就这么说定!希望我说的那些复杂知识能给你帮助。如果还有不懂或想问的,请留言别忘了点赞分享一下那样我们才更有动力!

原文链接:https://www.icz.com/technicalinformation/web/javascript/2024/03/11406.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?