Vue 面试题
目录

Vue 中如何自定义组件的 v-model?

· 约 4 分钟读完 · 第 62 / 211 章

推荐答案

在 Vue 中,自定义组件的 v-model 可以通过在组件内部使用 model 选项来实现。具体步骤如下:

  1. 定义 model 选项:在组件中定义 model 选项,指定 prop 和 event 名称。
  2. 使用 v-model:在父组件中使用 v-model 绑定数据。

本题详细解读

1. v-model 的工作原理

在 Vue 中,v-model 是一个语法糖,它实际上是 :value 和 @input 的组合。默认情况下,v-model 会绑定 value prop 并监听 input 事件。

等价于:

2. 自定义组件的 v-model

对于自定义组件,Vue 允许你通过 model 选项来指定 v-model 绑定的 prop 和事件。默认情况下,v-model 会使用 value prop 和 input 事件,但你可以通过 model 选项来修改这些默认行为。

3. 实现步骤

  1. 定义 model 选项:在子组件中定义 model 选项,指定 prop 和 event 名称。
  2. 接收 prop:在子组件中通过 props 接收父组件传递的值。
  3. 触发事件:在子组件中通过 $emit 触发指定的事件,更新父组件的值。

4. 示例代码

通过这种方式,你可以在自定义组件中使用 v-model,并且可以根据需要自定义绑定的 prop 和事件。