vue.js面试题(单题)

题型 难易度 出现频率 浏览 评论
问答题 24 0
试题信息收集不易,转发请带上出处,不甚感谢!如果您对任何编程问题还有疑问,欢迎点击下方按钮向老师提问!
问答题

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>



还能输入{{limitInput-commentDet.length}}个字符