太阳集团tyc5997|官网【中国】有限公司

vue自定义组件实现双向绑定
  • 作者:admin
  • 发表时间:2021-01-15 07:51
  • 来源:未知

本文主要详细介绍了vue自定义组件的双向绑定。本文中的示例代码非常详细,具有一定的参考价值。有兴趣的朋友可以参考一下

#FormatStrongID_0#

我们比较了父组件和子组件之间的常见交互方式:

父组件通过道具将数据流入子组件;

子组件通过$emit将更新后的数组发送给父组件;

今天我们用另一种方式实现交互,参考输入框的v型,实现自定义组件的双向数据绑定。

即当父组件的值改变时,子组件的值也改变;相反,子组件的值会改变,父组件的值也会改变

#FormatStrongID_1#

由于道具的属性值不能直接修改,我们在这里定义valueData,监听实时接收值,点击方法修改valueData。

这里注意,模型语法中的sugar prop是收到的props属性值,是一致的。事件是首先传递的事件名称。

代码如下:

模板

差异

Div{{ `子组件值: ${value}` }}/div

Div @click='click '单击此处修改值/div

/div

/模板

剧本

导出默认值{

名称: ' ',

型号: {

prop: '值':

事件:“变更”

},

props: {

数值:数字

},

组件: {},

data() {

返回{

valueData: ' '

};

},

watch: {

值(新值,旧值){

this . value data=new value;

Console.log(`子组件值:$ { NewValue } `);

}

},

created() {

},

已安装(){

},

methods: {

单击(){

this.valueData

这个。$emit('change ',this . value data);

}

}

};

/script

style lang='less '范围

/style

#FormatStrongID_2#

父组件通过v-model绑定文本值,名称不一定是值,而是任何其他符合命名标准的字符串,这里是文本。

在子组件通过更改事件更新数据后,v模式绑定值会发生更改。

或者在父组件修改了文本值之后,子组件的值也随之改变。

代码如下:

模板

差异

Div{{ `父组件值:${text}` }}/div

Div @click='click '单击此处修改值/div

跨度/跨度

测试儿童v-model=' text '/测试儿童

/div

/模板

剧本

从“@/view/TestChildren”导入TestChildren;

导出默认值{

名称: ' ',

组件: { TestChildren },

data() {

返回{

文本: 1

};

},

created() {

},

Baidu
sogou