没有值属性的VueJS自定义v模型-这不行吗?

时间:2019-07-30 20:58:39

标签: javascript vue.js vuejs2 vue-component

基于我对在自定义组件上使用v-model的理解(以下docs链接),自定义组件应为:

  1. 由于默认情况下v模型实际上是'v-bind:value =“ valuePassed”',因此在“值”的数据对象上具有属性。
  2. 在组件实例上具有“模型”属性,以指定要使用的属性。

因此,为什么这种提琴奏效? https://jsfiddle.net/mpctwfaq/2/

编辑:这个小提琴似乎可以在Firefox上运行,但目前不能在Chrome上运行...

父母:

<custom-select v-bind:options="formOptions" v-model="formOptionsVModel">

孩子:

this.$emit("input", this.customArraySelectedOptions)

具体来说,我将输入事件发送给具有自定义属性“ customArraySelectedOptions”的父组件。但是,我可以通过重置父级的“ formOptionsVModel”属性来从父级方法更新子级组件。

我认为根据文档,“向下”更新应该会失败,因为子级的组件属性不是“值”,并且不会使用“模型”定义特定属性。

文档:https://vuejs.org/v2/guide/components-custom-events.html#Customizing-Component-v-model

1 个答案:

答案 0 :(得分:0)

v-model是=>

的语法糖
:value="modelValue" @input="modelValue = $event.target.value"

因此您的变量正在更新。