原理
1、展示:父组件v-model,子组件接受一个props值value,将它展示到子组件自己的input上。
2、改变:当子组件自身发生改变时,触发自身的input方法,然后触发父组件的事件方法,改变父组件的vaule,进而改变接受的props,实现自身展示的改变
参考: https://www.cnblogs.com/wangxi01/p/11178243.html
不太理解,以后再研究 https://blog.csdn.net/wyljz/article/details/89173824
可以参考:https://blog.csdn.net/orq18810575870/article/details/82027514?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link
https://blog.csdn.net/Billow_lamb/article/details/118273667?utm_source=app&app_version=4.14.0&code=app_1562916241&uLinkId=usr1mkqgl919blen
需求
父组件绑定v-model,子组件输入更改父组件v-model绑定的数值,要怎么实现呢?
<input v-model="inputValue" />
<input v-bind:value="inputValue" v-on:input="inputValue= $event.target.value" />
实际上v-model只是语法糖而已,他们是一样的。
v-model与v-bind的区别有两点:
1、v-model是双向绑定数据,也就是当父组件传进去的数据发生改变时,子组件的数据也会发生改变,当子组件发生改变时,父组件也会发生改变,
v-bind是单向绑定,当父组件的数据发生改变时,子组件的数据也会发生改变,但是当子组件发生改变时,父组件的数据不会发生改变
2、v-model默认绑定value值
v-bind的绑定值是可以自定义的
所以自定义组件通过v-model绑定的第一个问题就是value值,第二个问题是子组件里面的数据发生改变之后