您的位置:首页 > 健康 > 养生 > 南通网站制作设计_个人免费网站平台_深圳seo优化服务商_软文写作模板

南通网站制作设计_个人免费网站平台_深圳seo优化服务商_软文写作模板

2025/5/3 13:51:53 来源:https://blog.csdn.net/rej177/article/details/147000151  浏览:    关键词:南通网站制作设计_个人免费网站平台_深圳seo优化服务商_软文写作模板
南通网站制作设计_个人免费网站平台_深圳seo优化服务商_软文写作模板

提示:https://github.com/jeecgboot/jeecgboot-vue2

文章目录

  • 案例
  • 父组件向子组件传递数据的方式
  • 父组件调用子组件方法的方式
  • 子组件向父组件传递数据的方式
  • 流程示意图


案例

提示:以下是本篇文章正文内容,下面案例可供参考

以下是 整合后的关键代码示例,展示父子组件间的数据传递与方法调用:

父组件 Parent.vue

<template><!-- 1. 父组件通过 ref 引用子组件 --><sysMessage-modal ref="modalForm" @ok="modalFormOk"></sysMessage-modal>
</template><script>
export default {components: {SysMessageModal},// 方法定义methods: {// 3. 父组件调用子组件方法并传递数据handleEdit(record) {this.$refs.modalForm.edit(record); // 调用子组件的 edit 方法},// 4. 父组件监听子组件的 @ok 事件modalFormOk() {console.log('处理子组件回调(子向父传数据)');this.loadData(); // 刷新表格数据}}
}
</script>

子组件 SysMessageModal.vue

<template><a-drawer @close="close"><!-- 表单内容 --></a-drawer>
</template><script>
export default {methods: {// 2.通过方法参数接收父组件数据edit(record) {this.model = Object.assign({}, record); // 接收父组件数据this.visible = true;// 填充表单逻辑...},// 5. 子组件通过事件向父组件传递数据handleOk() {this.$emit('ok'); // 触发父组件监听的事件}}
}
</script>

父组件向子组件传递数据的方式

  1. 通过方法调用传递数据
    父组件通过 ref 获取子组件实例,直接调用子组件的方法并传递数据。
    • 在父组件的模板中,子组件通过 ref="modalForm" 注册引用。
    • 当父组件需要编辑数据时(如点击编辑按钮),会调用子组件的 edit 方法,并将当前行数据 record 作为参数传入:
 // 父组件触发编辑操作handleEdit(record) {this.$refs.modalForm.edit(record); // 将 record 传递给子组件}// 子组件的 `edit` 方法接收数据并更新表单:edit(record) {this.model = Object.assign({}, record); // 接收父组件传递的数据// 更新表单字段...}

父组件调用子组件方法的方式

  1. 通过 ref 直接调用子组件方法
    父组件通过 this.$refs.modalForm 获取子组件实例,直接调用其方法。
    • 当用户点击“新增”按钮时,父组件调用子组件的 add 方法打开表单:
  handleAdd() {this.$refs.modalForm.add(); // 调用子组件的 add 方法}// 子组件的 `add` 方法负责初始化空表单并显示抽屉:add() {this.edit({}); // 初始化空数据this.visible = true; // 显示抽屉}

子组件向父组件传递数据的方式

  1. 通过事件触发传递
    子组件通过 $emit 触发事件通知父组件,并可以携带数据。
    • 子组件在提交成功后触发 ok 事件:
     this.$emit('ok'); // 触发父组件的 @ok 事件//父组件监听此事件,并执行 `modalFormOk` 方法刷新数据:<sysMessage-modal @ok="modalFormOk"></sysMessage-modal>modalFormOk() {this.loadData(); // 父组件重新加载数据}

流程示意图

方向方式代码示例
父组件 → 子组件通过 ref 调用子组件方法并传参this.$refs.modalForm.edit(record);
父组件调用子组件方法通过 ref 引用直接调用this.$refs.modalForm.add();
子组件 → 父组件通过 $emit 触发事件this.$emit('ok');

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com