【发布时间】:2017-11-25 17:01:12
【问题描述】:
我正在使用第三方日期选择器组件。我为这个组件创建了一个包装器,所以我可以设置一些适合我的应用程序的默认值。但是,我在传递模型时遇到问题。如何确保模型的双向绑定?当我直接使用第三方组件时,一切正常。
my-page.vue
<my-datepicker v-model="from"></my-datepicker>
my-datepicker.vue
<template>
<thirdparty-datepicker>
:value="value"
</thirdparty-datepicker>
</template>
<script>
export default {
props: {
value: {
value: String
}
}
}
</script>
编辑
根据 Bert 的意见,我设法让它发挥作用。每次更改第三方组件的日期时,都会引发 input 事件。所要做的就是连接到该事件并重新发出它。
<template>
<thirdparty-datepicker>
:value="value"
v-on:input="change"
</thirdparty-datepicker>
</template>
<script>
export default {
props: {
value: {
value: String
}
},
methods: {
change (newValue) {
this.$emit('input', newValue)
}
}
}
</script>
【问题讨论】:
-
您是否尝试为该属性指定一个不同于“值”的名称?也许这会搞砸事情。
-
值是日期选择器的属性之一。我基本上是在为第三方日期选择器和我的包装器的属性创建一个映射。如果我理解正确,值是我做
v-model="from"? 时匹配的属性的名称
标签: javascript vue.js components vuejs2