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

展示型网站建设的标准桂林seo

展示型网站建设的标准,桂林seo,成都网站建设排行榜,seo兼职外包文章目录 父组件中的使用子组件中的 console.log(v)父组件中 form 的数据流初始化用户上传图片保存时的处理 console.log(v) 的具体输出为什么有两个 console.log(v)?示例场景结论 下面这张图,是首次打开登记表单(也就是添加)控制…

文章目录

      • 父组件中的使用
      • 子组件中的 `console.log(v)`
      • 父组件中 `form` 的数据流
        • 初始化
        • 用户上传图片
        • 保存时的处理
      • `console.log(v)` 的具体输出
      • 为什么有两个 `console.log(v)`?
      • 示例场景
      • 结论

  • 下面这张图,是首次打开登记表单(也就是添加)控制台首次打印console.log(v)的内容
    在这里插入图片描述

  • 子组件(w-form-multiple-image)
  • 父组件(ave-form)

准确地分析你的 w-form-multiple-image.vue 文件中 console.log(v) 打印的内容。这个父组件是一个对话框表单(ave-form),其中使用了 w-form-multiple-image 组件来处理“产品照片”和“购买记录”的多图上传。我们来一步步分析。


父组件中的使用

在你的父组件模板中,w-form-multiple-image 被用在了两个地方:

  1. 产品照片

    <w-form-multiple-imagev-model="form.productPhotos"label="产品照片"label-width="120px":operate-type="operateType"folder-name="fake-strategy":limit="4"
    />
    
    • v-model="form.productPhotos":绑定到 form.productPhotos,表示这个字段的值会通过 value 属性传入组件,并通过 input 事件更新。
  2. 购买记录

    <w-form-multiple-imagev-model="form.purchaseRecords"label="购买记录"label-width="120px":operate-type="operateType"folder-name="fake-strategy":limit="4"
    />
    
    • v-model="form.purchaseRecords":绑定到 form.purchaseRecords,类似上面。

子组件中的 console.log(v)

在你的 w-form-multiple-image.vue 文件中:

@Watch('value')
watchVal(v: any) {console.log(v)this.val = v
}
  • value:通过 @Prop 传入的值,这里对应父组件绑定的 form.productPhotosform.purchaseRecords
  • watchVal:当 value 变化时触发,vvalue 的新值。
  • console.log(v):打印 v 的值。

父组件中 form 的数据流

让我们看看 form.productPhotosform.purchaseRecords 的值是如何变化的,从而确定 console.log(v) 的输出。

初始化
  • form 的定义

    private form: any = {}
    
    • 初始时,form 是一个空对象,form.productPhotosform.purchaseRecords 未定义(即 undefined)。
  • @Watch('value') 的初始化逻辑

    @Watch('value')
    watchValue(v: any) {this.$nextTick(() => {this.getProducts()const formData = {...v,productPhotos: v.productPhotos ? JSON.parse(v.productPhotos) : [],purchaseRecords: v.purchaseRecords ? JSON.parse(v.purchaseRecords) : []}this.form = formData})
    }
    
    • value 是父组件传入的外部数据(通过 @Prop)。
    • 如果 v.productPhotosv.purchaseRecords 存在,会被 JSON.parse 解析为数组;否则,默认是空数组 []
    • this.form 被更新为包含这些字段的对象。
  • 初始输出

    • 如果父组件传入的 value{ productPhotos: '["img1.jpg"]', purchaseRecords: '["receipt1.jpg"]' }
      • form.productPhotos 变为 ['img1.jpg']
      • form.purchaseRecords 变为 ['receipt1.jpg']
    • 如果未传入 value 或字段缺失:
      • form.productPhotosform.purchaseRecords 都是 []
    • form.productPhotosform.purchaseRecords 被赋值时,w-form-multiple-imagevalue 变为对应值,触发 watchValconsole.log(v) 打印:
      • 对于“产品照片”:['img1.jpg'][]
      • 对于“购买记录”:['receipt1.jpg'][]
用户上传图片
  • 当用户通过 w-form-multiple-imageUploadImage 组件上传图片:
    • handleUploadSucc(e) 被调用:
      public handleUploadSucc(e: any) {this.$emit('input', e)
      }
      
    • e 是上传结果,通常是一个图片路径数组(如 ['newphoto.jpg'])。
    • this.$emit('input', e) 更新父组件的 form.productPhotosform.purchaseRecords
    • 父组件的 v-model 绑定导致 value 更新,触发子组件的 watchVal
    • console.log(v) 输出
      • 如果上传到“产品照片”,打印 ['newphoto.jpg']
      • 如果上传到“购买记录”,打印 ['newreceipt.jpg']
保存时的处理
  • handleSubmitsave 中:
    private handleSubmit() {// ...console.log(this.form.productPhotos)console.log(this.form.purchaseRecords)this.form.comparisonStatus = 1this.save()
    }
    private async save() {const data = {...this.form,productPhotos: JSON.stringify(this.form.productPhotos),purchaseRecords: JSON.stringify(this.form.purchaseRecords)}const res: any = await esave(data)// ...
    }
    
    • 保存时,form.productPhotosform.purchaseRecords 被转为 JSON 字符串。
    • 但这不直接影响 console.log(v),因为 v 是传入时的值。

console.log(v) 的具体输出

根据上下文,console.log(v) 打印的值是:

  1. 对于 <w-form-multiple-image v-model="form.productPhotos">
    • 初始[](如果父组件未传入数据)或 ['img1.jpg', ...](如果传入并解析)。
    • 上传后['newphoto.jpg', ...](用户上传的结果)。
  2. 对于 <w-form-multiple-image v-model="form.purchaseRecords">
    • 初始[]['receipt1.jpg', ...]
    • 上传后['newreceipt.jpg', ...]

为什么有两个 console.log(v)

因为你用了两个 w-form-multiple-image 实例:

  • 一个绑定 form.productPhotos,打印与产品照片相关的数据。
  • 一个绑定 form.purchaseRecords,打印与购买记录相关的数据。

示例场景

假设:

  1. 父组件传入 value = { productPhotos: '["initial.jpg"]', purchaseRecords: null }
    • 初始化后:
      • form.productPhotos = ['initial.jpg'],打印 ['initial.jpg']
      • form.purchaseRecords = [],打印 []
  2. 用户给“产品照片”上传一张图,返回 ['uploaded.jpg']
    • form.productPhotos 更新为 ['uploaded.jpg']
    • console.log(v) 打印:['uploaded.jpg']
  3. 用户给“购买记录”上传两张图,返回 ['receipt1.jpg', 'receipt2.jpg']
    • form.purchaseRecords 更新为 ['receipt1.jpg', 'receipt2.jpg']
    • console.log(v) 打印:['receipt1.jpg', 'receipt2.jpg']

结论

在你的 w-form-multiple-image.vue 中,console.log(v) 打印的是:

  • form.productPhotosform.purchaseRecords 的新值。
  • 通常是图片路径数组(如 ['image1.jpg', 'image2.jpg']),具体取决于初始数据或上传结果。
  • 如果未初始化或无数据,可能是 []
http://www.cadmedia.cn/news/12902.html

相关文章:

  • 北京网站改版查域名备案
  • 昆山专业网站建设公司哪家好1688如何搜索关键词排名
  • 个人网站设计结构图友情链接怎么添加
  • 网站内容编写方法正规seo多少钱
  • 滑县网站建设哪家专业百度推广运营工作是什么
  • 手机免费网站制作网站制作工具有哪些
  • 企业网站建设规划的基本原则是什么2023新闻热点摘抄
  • 涪陵区小城镇建设管理处网站新闻网站软文平台
  • 政府网站建设费用太原seo公司
  • 网站建设对电子商务的作用seo专员的工作内容
  • 个人网站备案需要哪些百度推广代理商加盟
  • 广西建设执业资格注册中心网站太原竞价托管公司推荐
  • 网站建设用图片重庆百度推广开户
  • 网站建设域名是什么互联网营销推广渠道
  • 做外链的网站快速排名生客seo
  • 千图网官网素材seo引擎优化专员
  • 免备案自助建站网站windows优化大师怎么使用
  • 上海短期网站建设培训腾讯推广一次广告多少钱
  • 大连做网站哪家服务好百度搜索风云榜下载
  • 网站建设报价流程网络营销的五个发展阶段
  • 网站建设流程哪家好长沙百度推广开户
  • 东莞网站开发营销国外网站设计
  • 河南省建设教育协会网站人力资源培训网
  • 旅游网站建设实训报告创建网站平台
  • 网站建设的布局对网络推广的影响百度seo哪家公司好
  • 施工企业安全生产评价汇总表最终须由( )签名。上海aso苹果关键词优化
  • 杭州网站建设 巴零百度下载电脑版
  • 中石建基础设施建设有限公司网站长沙seo网站推广
  • 外国人做的关于中国的视频网站外包公司值得去吗
  • wordpress压缩数据库seo是搜索引擎营销吗