2017-10-12 70 views
0

我们正在我们公司内部创建一个内部Web开发框架。我们正在Vue之上创建一个组件库。后来还会支持其他一些Web开发框架,比如React。等 我们通过我们自己的Vue组件封装简单的表单控件做到这一点,在模板中使用它们像这样:更改Vue组件中的v模型属性名称

<our-input v-model="customerModel" /> 

我们想要做的是,重命名“V型”什么道具名称别的东西,进一步抽象掉任何对Vue的引用,以便我们可以轻松地切换到另一个框架。

任何想法,如何做到这一点,搜索和替换?

回答

0

我想不能做v-model是由vue提供的指令构建的。

但由于v-model无非是结合输入value和输入添加事件侦听器来侦听任何更新,更新输入的value多。

这样:

<our-input v-model="customerModel" /> 

是一样的:

<our-input :value="customerModel" @input="value => { customerModel = value }">/> 

也许这可以帮助你。详情请参阅custom component input handling

+0

感谢您的帮助。如果我使用v-model并从我的自定义组件发出“输入”事件,而不是双向绑定对父组件发挥作用。如果我在你提供的链接中应用代码,我需要明确处理父节点上发出的事件,这种事件会自动打断双向绑定。 –

+0

@ÉodiePetit,但那就是'v-model'指令在幕后也在做什么......它只是语法糖 –