今天小编给大家分享一下Vue中v-model指令的原理是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。vue的v-model是一个十分强大的指令,它可以自动让原生表单组件的值自动和你选择的值绑定,我们来看一下它的效果:输入框的值和一个数据是绑定的,输入框的值变化,和他绑定的值也会发生变化我们可以参照官方文档的例子 http://cn.vuejs.org/v2/guide/forms.html#文本我们在手动输入 hello的过程中 下面和他绑定的p标签的值也是实时变化的如此神奇的效果是如何实现的呢? 还是参照官方文档http://cn.vuejs.org/v2/guide/components.html#使用自定义事件的表单输入组件官方也说明了,v-model只不过是一个语法糖而已,真正的实现靠的还是v-bind:绑定响应式数据触发 input 事件 并传递数据 (核心和重点)现在我们也想设计自己的表单组件,也想通过 v-model暴露组件的值,怎么做呢?
例如我们要设计一个 自定义货币输入的组件, 通过 v-model暴露组件的值,我们可能使用如下的组件代码然后再使用 这个我们自己定义的组件时, 组件内部会暴露出 组件的值到 v-model所绑定的值中去;那它是如何实现的呢?要搞明白v-model的实现,需要通过查 香港云主机看官方的自定义v-model组件示例的部分代码来进行说明我们看上图中的代码,有行 $emit的代码,这行代码实际上会触发一个 input事件, ‘input’后的参数就是传递给v-model绑定的属性的值,也就是说 v-model实现自定义的数据绑定的原理是这样的:首先,大体的组件结构:也就是自定义的组件内部一般包含原生的表单组件(当然非表单的组件也可以)然后,给原生控件绑定事件,捕捉到原生组件的值,利用 $emit方法,触发input方法,组件监听到 input事件然后把值传入到myattr中.这里有个疑问,为什么是 ‘input’呢??? 三个字,看文档!
这个就是 vue对 v-model实现的一个规则: 使用了v-model的组件会
自动监听 input 事件,并把这个input事件所携带的值 传递给v-model所绑定的属性!这样组件内部的值就给到了父组件了
通过以上讲解,我们总结一下如何利用v-model实现自定义的表单组件:
监听原生组件的事件,当获取到原生组件的值后把 值通过调用 $emit(‘input’ ,data) 方法去触发 input事件
以上就是“Vue中v-model指令的原理是什么”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注开发云行业资讯频道。
本篇内容介绍了“win10怎么返回传统桌面”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!具体操作:方法一:1.在任务栏点击左下角的操作中心按钮。2.在弹出的菜单…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。