如何在自定义组件上启用 v-model?

Posted

技术标签:

【中文标题】如何在自定义组件上启用 v-model?【英文标题】:How to enable v-model on custom component? 【发布时间】:2019-06-14 05:18:36 【问题描述】:

我正在尝试将 TexField ui 包装到一个新的自定义组件中,以便我可以添加额外的功能并在项目中重用该组件。我希望它仍然具有 v-model 绑定,所以我实现了以下内容:

:text="text" 

@textChange="(update)=>$emit('textChange', update.value)"

其中“text”是它的 prop 命名并完全像普通的 TextField prop 一样暴露。

该模式应该可以在 web 上使用,但我不知道它是否可以在 nativescript vue 组件上使用。请看一下我在操场上写的代码:https://play.nativescript.org/?template=play-vue&id=Ikap1R&v=1

它不工作。如果您知道解决方案,请提供帮助。

谢谢

【问题讨论】:

【参考方案1】:

您无需专门为 N 做任何事情,如果您知道它是如何与 Vue.js 一起工作的,那么您就明白了。

您所要做的就是使用 value 属性作为输入值并在更改时发出 input 事件。

Updated Playground

【讨论】:

以上是关于如何在自定义组件上启用 v-model?的主要内容,如果未能解决你的问题,请参考以下文章

vue v-model 在自定义组件上的使用教程

vue v-model 在自定义组件上的使用教程

组件使用v-model$listeners.sync(区别于v-model的双向数据绑定)

vue框架之自定义组件中使用v-model

Vue 中 v-model 在自定义组件中的使用

如何在自定义组件宿主元素上使用自定义指令