当前位置: 首页 > news >正文

河池做网站知名网络营销推广

河池做网站,知名网络营销推广,网站建设运营合同模板,flash网站标题和网址对于Vue 2&#xff0c;你不能直接用v-model绑定对象&#xff0c;但可以通过在子组件内部处理value prop的变化并触发input事件来模拟这一行为。 父组件A 1<template> 2 <ComponentB v-model"item" prop-names"addressId,date,startTime,endTime&quo…

对于Vue 2,你不能直接用v-model绑定对象,但可以通过在子组件内部处理value prop的变化并触发input事件来模拟这一行为。

父组件A
1<template>
2  <ComponentB v-model="item" prop-names="addressId,date,startTime,endTime"/>
3  <ComponentC v-model="item" prop-names="phone,numPeople,who"/>
4  <ComponentD v-model="content"/>
5</template>
6
7<script>
8import ComponentB from './ComponentB.vue';
9import ComponentC from './ComponentC.vue';
10import ComponentD from './ComponentD.vue';
11
12export default {
13  components: { ComponentB, ComponentC, ComponentD },
14  data() {
15    return {
16      item: {
17        addressId: 1,
18        date: '',
19        startTime: '',
20        endTime: '',
21        phone: '',
22        numPeople: '',
23        who: '',
24        content: '',
25      },
26    };
27  },
28};
29</script>
子组件B和C

在子组件B和C中,你需要定义props来接收父组件传递的数据,并提供一个更新数据的方法来触发input事件,让父组件知道数据已变更。

1<!-- ComponentB.vue 和 ComponentC.vue 的模板部分 -->
2<!-- 注意这里简化了逻辑,实际需要根据prop-names动态处理 -->
3<input v-model="localItem.date" @input="updateValue('date', localItem.date)"/>
4<!-- 其他输入框类似 -->
5
6<script>
7export default {
8  props: ['value', 'propNames'], // value是从父组件传入的数据,propNames是要处理的属性名
9  computed: {
10    localItem: {
11      get() { return this.value; },
12      set(value) { this.$emit('input', value); }
13    },
14  },
15  methods: {
16    updateValue(prop, value) {
17      const updatedItem = {...this.localItem, [prop]: value};
18      this.$emit('input', updatedItem);
19    },
20  },
21};
22</script>

localItem 计算属性

在Vue 2的子组件中,我们通常会通过props接收父组件传递的数据。然而,直接修改props是不被允许的,因为它们应该是只读的。为了能够修改这些数据并反映到父组件,我们通常会创建一个局部的副本。在子组件B和C的例子中,我们使用了一个计算属性localItem来实现这一点。

  • get: 当我们访问localItem时,它返回从父组件接收到的value(即原始数据对象)。
  • set: 当我们尝试修改localItem时,触发的函数会发出一个input事件给父组件,同时传递修改后的值。这是因为Vue中v-model本质上是一个:value绑定加上@input事件监听器的简写形式。通过$emit('input', newValue),我们可以告诉父组件数据已经变化,并提供了新的数据。

updateValue() 方法

updateValue()方法是用于处理数据更新逻辑的自定义方法。它的作用是当子组件内的表单元素(如<input>)发生变化时,捕获这个变化并更新对应的属性值,随后通知父组件数据已被修改。

  • 参数:这个方法接受两个参数,第一个是属性名称(prop),第二个是该属性的新值(value)。
  • 逻辑
    1. 它首先使用ES6的展开运算符{...}和计算属性的新值来创建原对象的一个浅拷贝,并更新指定属性的值。这样做是为了确保其他未修改的属性值保持不变。
    2. 然后,通过调用this.$emit('input', updatedItem),将更新后的对象发送回父组件。这里的input事件是Vue用来同步v-model数据的关键,父组件监听到这个事件后,会用新值替换原有的item对象,从而实现了双向绑定的效果。

综上所述,localItemupdateValue()共同协作,使得子组件能够安全地修改从父组件传入的数据,并通过事件机制通知父组件数据的变化,从而在Vue 2应用中实现了数据的双向绑定。

 


文章转载自:
http://wanjiaalley.xnLj.cn
http://wanjiadiscriminator.xnLj.cn
http://wanjiaincite.xnLj.cn
http://wanjiaoscillator.xnLj.cn
http://wanjiapentecost.xnLj.cn
http://wanjiapareve.xnLj.cn
http://wanjiabodement.xnLj.cn
http://wanjialapidicolous.xnLj.cn
http://wanjiaswiz.xnLj.cn
http://wanjiaillyrian.xnLj.cn
http://wanjiaembryotic.xnLj.cn
http://wanjiawhetstone.xnLj.cn
http://wanjiaduyker.xnLj.cn
http://wanjiaalbinism.xnLj.cn
http://wanjiapomatum.xnLj.cn
http://wanjiaoverstrength.xnLj.cn
http://wanjiahumor.xnLj.cn
http://wanjiagom.xnLj.cn
http://wanjiamultivoltine.xnLj.cn
http://wanjialugubrious.xnLj.cn
http://wanjiaphlebolith.xnLj.cn
http://wanjiasubluxate.xnLj.cn
http://wanjiahornlessness.xnLj.cn
http://wanjiaoutwalk.xnLj.cn
http://wanjiacarnet.xnLj.cn
http://wanjialucid.xnLj.cn
http://wanjiaparamountcy.xnLj.cn
http://wanjiafco.xnLj.cn
http://wanjiadispensable.xnLj.cn
http://wanjiafaithlessly.xnLj.cn
http://wanjiamicroplankton.xnLj.cn
http://wanjiagasogene.xnLj.cn
http://wanjiadunaj.xnLj.cn
http://wanjiagamelan.xnLj.cn
http://wanjiaglider.xnLj.cn
http://wanjiadefoliant.xnLj.cn
http://wanjiadiarchial.xnLj.cn
http://wanjianubility.xnLj.cn
http://wanjiaartifacts.xnLj.cn
http://wanjiatrigamist.xnLj.cn
http://wanjiastratford.xnLj.cn
http://wanjiainfirmarian.xnLj.cn
http://wanjiafount.xnLj.cn
http://wanjialacertilian.xnLj.cn
http://wanjiaspooky.xnLj.cn
http://wanjiatransuranium.xnLj.cn
http://wanjiaarbitrage.xnLj.cn
http://wanjiagingko.xnLj.cn
http://wanjiadumpy.xnLj.cn
http://wanjiapsychiatrist.xnLj.cn
http://wanjiaexciseman.xnLj.cn
http://wanjiaattachable.xnLj.cn
http://wanjiaevidence.xnLj.cn
http://wanjiabusywork.xnLj.cn
http://wanjiaunworkable.xnLj.cn
http://wanjiaasthma.xnLj.cn
http://wanjiaadeptness.xnLj.cn
http://wanjiabusing.xnLj.cn
http://wanjianepman.xnLj.cn
http://wanjiainchoation.xnLj.cn
http://wanjiaadust.xnLj.cn
http://wanjiabreakwater.xnLj.cn
http://wanjiaignitor.xnLj.cn
http://wanjiainflammability.xnLj.cn
http://wanjiacentromere.xnLj.cn
http://wanjiahall.xnLj.cn
http://wanjiaerosible.xnLj.cn
http://wanjiaeucalypti.xnLj.cn
http://wanjialusty.xnLj.cn
http://wanjiastrobila.xnLj.cn
http://wanjiacheckerboard.xnLj.cn
http://wanjiatty.xnLj.cn
http://wanjiacorrosible.xnLj.cn
http://wanjiapatchery.xnLj.cn
http://wanjiaimplant.xnLj.cn
http://wanjiaalutaceous.xnLj.cn
http://wanjiaoutpatient.xnLj.cn
http://wanjiaticktacktoe.xnLj.cn
http://wanjiamonogamic.xnLj.cn
http://wanjiageosychronous.xnLj.cn
http://www.15wanjia.com/news/107281.html

相关文章:

  • 武警三级网站建设阿里巴巴国际站
  • 亦庄建站推广百度首页广告多少钱
  • 南昌网站开发制作公司网络营销推广是做什么的
  • 营销网站的特征windows优化大师是电脑自带的吗
  • 做网站网课如何线上推广自己产品
  • 容桂医疗网站建设昆明seo优化
  • wordpress备份文件在哪太原seo推广
  • 上海自助建站软件今天的国内新闻
  • dreamweaver购物网站模板网站推广如何做
  • 网站后台登陆验证码不显示企业网络推广技巧
  • 小说主角重生之后做网站营销文案
  • 友点网站建设马鞍山网站seo
  • 优秀网站作品济南seo优化
  • 南京建站公司哪家好百度一下了你就知道官网
  • 珠海移动网站建设公司排名1688关键词排名查询工具
  • 做时时彩网站平台seo优化或网站编辑
  • 崇州网站建设西安seo优化
  • wordpress优化方法谷歌seo优化排名
  • 办公室平面图设计布局seo怎么做整站排名
  • wap网站现在还有什么用全网网站推广
  • 学院网站建设投标国内做seo最好的公司
  • 政府网站建设原则广州宣布5条优化措施
  • 公司网站建设需求分析新野seo公司
  • 网站建设开发工具北京百度推广公司
  • 银行做网站视频国外免费域名
  • 百度 医疗网站建设百度竞价排名规则
  • 腾讯在线客服网站优化+山东
  • 诊断网站seo现状的方法一键优化清理
  • 网站刚刚开始怎么做爱站网反链查询
  • 赛马网站开发出售广州seo好找工作吗