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

山东建设工程上传原件的网站网页制作ppt教学课件

山东建设工程上传原件的网站,网页制作ppt教学课件,搭建电子商务平台,城市建设单招网站文章目录 父组件中 <ave-form> 的使用add 模式下触发逻辑value 的传入情况是否触发 getProducts()&#xff1f; 验证 add 模式下 getProducts() 是否触发结论&#xff1a; 检查父组件传入 value 的完整情况如何明确知道父组件传入的 value最终回答 父组件 index.vue子组件…

文章目录

      • 父组件中 `<ave-form>` 的使用
      • `add` 模式下触发逻辑
        • `value` 的传入情况
        • 是否触发 `getProducts()`?
      • 验证 `add` 模式下 `getProducts()` 是否触发
        • 结论:
      • 检查父组件传入 `value` 的完整情况
      • 如何明确知道父组件传入的 `value`
      • 最终回答

  • 父组件 index.vue
  • 子组件 ave-form.vue

父组件的代码(src/views/tools/fake-strategy/index.vue)。现在我可以准确分析父组件如何传入 value<ave-form> 组件,尤其是在 add 模式下。以下是详细的分析和回答:


父组件中 <ave-form> 的使用

在父组件的模板中,<ave-form> 是这样定义的:

<ave-form:clist="clist.admins":value="aveForm":visible="aveFormVis":operate-type="operateType"@close="onAveFormClose"
/>
  • :value="aveForm"value 属性绑定到父组件的数据属性 aveForm
  • :operate-type="operateType":操作模式由 operateType 控制。
  • :visible="aveFormVis":控制对话框的显示。

关键点在于:value 的值取决于 aveForm 的内容,而 aveForm 在不同情况下会发生变化。我们需要检查 add 模式下 aveForm 的赋值逻辑。


add 模式下触发逻辑

在父组件中,handleAdd() 方法用于打开 add 模式的对话框:

public handleAdd() {this.aveForm = Object.assign({}, {});this.aveFormVis = true;this.operateType = 'add';
}
  • 赋值this.aveForm = Object.assign({}, {})aveForm 设置为一个新的空对象 {}
  • 显示对话框this.aveFormVis = true 打开 <ave-form>
  • 模式this.operateType = 'add' 设置为 add 模式。
value 的传入情况
  • 初始值
    • aveForm 在组件初始化时定义为:
      public aveForm: any = {};
      
      这意味着 <ave-form>value 默认是一个空对象 {}
  • 调用 handleAdd()
    • this.aveForm = Object.assign({}, {}) 重新将 aveForm 赋值为一个新的空对象 {}
    • 这看起来与初始值相同,但由于它是新对象,会触发 Vue 的响应式更新。
是否触发 getProducts()

现在回到子组件(ave-form.vue)的逻辑:

@Prop({ default: () => {} })
private value?: any;@Watch('value')
watchValue(v: any) {this.$nextTick(() => {this.getProducts();const formData = { ...v, /* ... */ };this.form = formData;});
}
  • 初次挂载

    • <ave-form> 组件初次挂载时,valueundefined 变为默认值 {}
    • 但注意:Vue 的 @Watch 默认不会对初始值触发,仅对后续变化生效,除非设置 immediate: true(当前代码未设置)。
    • 因此,组件挂载时 getProducts() 不会触发
  • 调用 handleAdd()

    • this.aveForm{}(旧对象)变为 {}(新对象)。
    • 虽然值看起来相同,但因为 Object.assign({}, {}) 创建了一个新对象(不同的引用),Vue 会检测到变化。
    • 这会触发 @Watch('value'),从而调用 getProducts()

验证 add 模式下 getProducts() 是否触发

  1. 父组件行为

    • handleAdd() 被调用时(用户点击“登记”按钮),aveForm 被赋值为新空对象。
    • <ave-form>value 从旧的 {} 变为新的 {},触发 Watcher。
  2. 子组件反应

    • @Watch('value') 检测到 value 引用变化,执行 watchValue
    • this.getProducts() 被调用。
结论:

add 模式下,当用户点击“登记”按钮调用 handleAdd() 时,getProducts() 会被触发,因为 aveForm 的重新赋值导致 value 的引用发生变化。


检查父组件传入 value 的完整情况

让我们进一步确认父组件中 aveForm 的其他使用情况,确保没有遗漏:

  1. 初始值

    public aveForm: any = {};
    
    • 默认是一个空对象。
  2. 其他修改 aveForm 的地方

    • onEdit(row)
      public async onEdit(row: any) {this.aveForm = Object.assign({}, row);this.operateType = 'edit';this.aveFormVis = true;
      }
      
      • edit 模式下,aveForm 被赋值为表格行的副本。
    • handleView(row)
      public async handleView(row: any) {this.aveForm = { ...row };this.operateType = 'view';this.aveFormVis = true;
      }
      
      • view 模式下,aveForm 被赋值为表格行的副本。
    • onOpenStatus(row)
      public onOpenStatus(row: any) {this.aveForm = { ...row, cooperateStatus: row.cooperateStatus || 0, value: row.value || 0 };this.operateType = 'edit';this.cstatusVisible = true;
      }
      
      • 涉及其他状态,但不直接影响 <ave-form> 的主逻辑。
  3. add 模式的特殊性

    • 只有 handleAdd() 是明确为 add 模式准备的,且 aveForm 被设置为 {}
    • 对比 editviewadd 模式下 aveForm 是空的,而其他模式会传入已有数据。

如何明确知道父组件传入的 value

按照你之前的提问,我提供具体步骤验证 value 的传入情况:

  1. 在子组件中添加日志
    修改 ave-form.vue

    @Watch('value')
    watchValue(v: any) {console.log('add 模式下 value:', v, 'operateType:', this.operateType);this.$nextTick(() => {this.getProducts();const formData = { ...v, /* ... */ };this.form = formData;});
    }mounted() {console.log('组件挂载时 value:', this.value, 'operateType:', this.operateType);
    }
    
    • 点击“登记”按钮后,观察控制台:
      • 如果输出 add 模式下 value: {} operateType: add,确认 value 是空对象,且 getProducts() 被调用。
  2. 在父组件中添加日志
    修改 handleAdd()

    public handleAdd() {this.aveForm = Object.assign({}, {});console.log('传入 ave-form 的 value:', this.aveForm);this.aveFormVis = true;this.operateType = 'add';
    }
    
    • 输出:传入 ave-form 的 value: {}
  3. 使用 Vue Devtools

    • 打开浏览器开发者工具,切换到 Vue 面板。
    • 找到 <ave-form>,检查 Props 中的 value
      • add 模式下,应该是 {}

最终回答

  • 父组件传入 value 的情况
    • add 模式下,父组件通过 handleAdd()aveForm 设置为一个新的空对象 {},并传递给 <ave-form>value
  • 是否触发 getProducts()
    • 会触发,因为 aveForm 从旧的 {} 变为新的 {}(引用变化),触发了 @Watch('value')
  • 验证方法
    • 在子组件用 console.log 检查 valueoperateType
    • 在父组件打印 aveForm
    • 用 Vue Devtools 查看 <ave-form> 的实时 Props。

在这里插入图片描述


文章转载自:

http://M1ccLVJ4.dtpqw.cn
http://MXJvYLtx.dtpqw.cn
http://hEwujCX5.dtpqw.cn
http://BZIMNFc7.dtpqw.cn
http://5TkrNuTE.dtpqw.cn
http://WnPw5JPg.dtpqw.cn
http://dY0Z4dxM.dtpqw.cn
http://cDwfb5op.dtpqw.cn
http://DZGKv5qw.dtpqw.cn
http://ejTm1C3K.dtpqw.cn
http://LPWRz8Mf.dtpqw.cn
http://TDCkboo3.dtpqw.cn
http://f51dWuUs.dtpqw.cn
http://mP0TmPnj.dtpqw.cn
http://D6djGwgF.dtpqw.cn
http://rPyUYiZ0.dtpqw.cn
http://piHooGt1.dtpqw.cn
http://ERJdqByW.dtpqw.cn
http://YQJnVLOn.dtpqw.cn
http://xCkSdOL2.dtpqw.cn
http://Oa11KATi.dtpqw.cn
http://Mfn4RkOK.dtpqw.cn
http://i6HjiXGb.dtpqw.cn
http://n2Hj1Mbz.dtpqw.cn
http://yV6ESbmm.dtpqw.cn
http://XQIdTB3i.dtpqw.cn
http://Q0gIDVIc.dtpqw.cn
http://vPOUT6Pn.dtpqw.cn
http://963ZJ9Vg.dtpqw.cn
http://YcY0KDTs.dtpqw.cn
http://www.dtcms.com/wzjs/742681.html

相关文章:

  • 大学生家教网站开发4徐汇区网站建设
  • 创业平台网站谷歌做公司网站需要多少钱
  • 杭州北京网站建设公司哪家好网站算信息化建设
  • 响应式网站怎样做easyphp wordpress
  • 免费的企业黄页网站永久免费建站的注意事项
  • 做网站广告怎么做网站建设的优缺点
  • 做游戏直播什么游戏视频网站无极任务平台
  • 网站建设服务费税率多少产品类网站
  • 建立站点的基本步骤品牌建设和品牌打造
  • 企业推广网站的方法下载网上国网app
  • 社交网站建设wordpress仿谷歌主题
  • 网站建设费税率多少wordpress foxlogin
  • 网站建设规划方案制作大钢模板相关信息圆柱钢模板优势是什么?企业网站建设模板和定制化有什么区别呢?人工费多少钱一平方
  • 房产资讯的网站怎么做企业宣传册
  • 郑州做网站建设公司网站推广营销方法
  • 象山建设局网站做阿里巴巴网站图片大全
  • asp.net 当前网站门户网站建设课程设计
  • 创意作品设计及简介四川seo整站优化
  • 河北邢台企业做网站最大网站建设公司排名
  • 新建站点步骤soho建设外贸网站
  • 桂林微信网站设计软文如何推广
  • phyton 网站开发电子商务网站开发技术有哪些
  • 设计网站企业网站建设公司联通最低套餐
  • 网站备案信息注销php网站开发实例代码
  • 可信赖的商城网站建设移动应用网站开发阶段作业
  • 北京的网站建设都有什么推广平台
  • 做儿童方面的网站网站开发买什么书
  • 贵州省住房和城乡建设厅官方网站我做的电影网站为什么百度搜索不到
  • 免费优化网站建设搜索引擎seo如何赚钱
  • 有什么网站可以做跳转连接的南宁百姓网