vue.js面试题(单题)
题型 | 难易度 | 出现频率 | 浏览 | 评论 |
---|---|---|---|---|
问答题 | 24 | 0 |
试题信息收集不易,转发请带上出处,不甚感谢!如果您对任何编程问题还有疑问,欢迎点击下方按钮向老师提问!
问答题
- v-model的原理 / 你是怎么理解v-model的 / 自定义v-model
v-model是双向绑定,但表单的数据改变了,通过改变事件监听内容改变,然后更新响应式数据。但数据改变了通过vue的响应式系统来更新界面上的数据。
所以我们在自定义v-model时,需要定义prop和event,prop定义响应式数据,用于更新界面数据,event用来定义界面内容改变事件,更新v-model绑定的内容。
参考代码如下:
Vue.component('base-checkbox', { model: { prop: 'checked', event: 'change' }, props: { checked: Boolean }, template: ` <input type="checkbox" v-bind:checked="checked" v-on:change="$emit('change', $event.target.checked)" > ` })组件使用
<base-checkbox v-model="lovingVue"></base-checkbox>