Vue2之父子组件传值中使用watch监听props中的对象

本文主要是介绍Vue2之父子组件传值中使用watch监听props中的对象,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Vue2之父子组件传值中使用watch监听props中的对象

文章目录

  • Vue2之父子组件传值中使用watch监听props中的对象
  • 1. 子组件
  • 2. 父组件

1. 子组件

BasicInfoForm.vue如下

<template><el-form ref="basicInfoForm" :model="info" :rules="rules" label-width="150px"><el-row><!--前端--><el-col :span="12" v-if="false"><el-form-item label="主键" prop="id"><el-input placeholder="请输入" v-model="info.id"/></el-form-item></el-col><el-col :span="12"><el-form-item label="模块名" prop="vueModuleName"><el-input placeholder="请输入" v-model="info.vueModuleName"/></el-form-item></el-col><el-col :span="24"><el-form-item label="备注" prop="remark"><el-input type="textarea" :rows="3" v-model="info.note"></el-input></el-form-item></el-col></el-row></el-form>
</template><script>
export default {name: "BasicInfoForm",props: {info: {type: Object,default: null}},watch: {//监听info对象info: {handler(newVal, oldVal) {//监听info对象变化console.log("newVal",newVal)//do same things...},deep: true, //深度监听immediate: true }},data() {return {rules: {vueModuleName: [{required: true, message: "请输入模块名", trigger: "blur"}],//......}};}
};
</script>

2. 父组件

SettingsIndex.vue如下

<template><el-card><el-tabs v-model="activeName"><el-tab-pane label="基本信息" name="basic"><BasicInfoForm ref="basicInfo" :info="info"/></el-tab-pane><!--......--></el-tabs></el-card>
</template><script>
import BasicInfoForm from "@/views/config/BasicInfoForm.vue";
import ConfigApi from "@/api/genConfig.js";export default {name: "SettingsIndex",components: {BasicInfoForm},data() {return {activeName: "basic",info: {generateType: "0"},dbConfig: {}};},created() {console.log("created====")//获取路由中传递的参数const routeParams = this.$route.paramsif (routeParams) {this.info.id = routeParams.configIdthis.info.vueModuleName = decodeURIComponent(routeParams.moduleName)let data = {"id": this.info.id}//请求后端数据ConfigApi.getOne(data).then(response => {const res = response.data;if (res.isSuccess) {this.dbConfig = res.data;let cfg = JSON.parse(this.dbConfig.config)if (cfg != null) {//赋值,赋值后子组件中的watch会监听并显示this.info.id = cfg.idthis.info.vuePackageName = cfg.vuePackageNamethis.info.note = cfg.note}}})}}};
</script>

这篇关于Vue2之父子组件传值中使用watch监听props中的对象的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/969125

相关文章

XMLHttpRequest对象的status属性状态吗

在做异步操作的时候,我们通常需要判断返回的状态码来判断服务器返回的数据是否正常,下面是常见的一些状态码和对应的含义。 状态码 200服务器正常处理了请求并响应404请求的页面(资源)没有找到403没有权限访问请求的页面(资源)405页面(资源)不接收该请求方式(比如用get请求一个只支持doPost方法的servlet)408请求超时500服务器处理请求时遇到错误(可能因为应用程序抛出异

Jquery 实现表单提交按钮变灰,防止多次点击提交重复数据

表单提交时候我们应该控制提交按钮,不能点击多次进行数据的重复提交。要不然就会有冗余的重复的数据在系统中,造成系统出现数据垃圾。jQuery很简单的就可以实现对表单提交按钮控制,下面就是相关的例子和代码。 <form action="${pageContext.servletContext.contextPath}/XXX/###" method="post" id="messag

java基础—java中使用final关键字的总结

有时候我,们希望某些东西是亘古不变的,可以使用final关键字完成这个重任! final学习总结: 1:final + 属性 如果属性是基本数据类型(byte 字节型short 短整型int 普通整型char 字符型float 浮点型long 长整型double 双精度),则变为常量,其值不能被更改;如果属性是引用类型,则引用地址不能被更改。(final 修饰一个对象,那么这个对象的引用地址

SVN—SVN服务器搭建和使用

本系列会总结一些svn和git的安装和使用,以及最后svn的项目如何迁移到git上,整个系列会持续输出。 要学习svn,那么首先开始搭建svn服务器和客户端。 下面要讲的有: svn下载和安装svn配置文件svn服务器的使用 1:svn服务器和客户端安装包下载和安装 Subversion是优秀的版本控制工具, 现在Subversion已经迁移到apache网站上了,下载地址: http:/

Java File中renameTo的介绍和使用说明

看到项目中有个地方用的File的renameTo这个方法,本以为这个方法就是用来文件重命名的,但是项目中确用它来进行文件的移动。就是使用renameTo将一个文件从一个目录移动另一个目录下! 下面就简单介绍一下renameTo,并整理一个renameTo的使用! renameTo的介绍 官方文档说明 /*** 重新命名此抽象路径名表示的文件。此方法行为的许多方面都是与平台有关的:重命名操作

2019年长沙前端技术分享大会圆满成功

做一个积极的人 编码、改bug、提升自己 我有一个乐园,面向编程,春暖花开! 本文首发: 唐胡子俱乐部,授权发布! 摘要 长沙百名互联网前端程序员齐聚长沙互联网活动基地(唐胡子俱乐部)。 主办单位:唐胡子俱乐部 支持单位:芒果TV,拓维,湘邮,58到家,御泥坊,兴盛优选,中软国际,长海科技,长沙联通 时 间:2019年5月19日 ----------------------

MySQL使用SELECT 语句不加ORDER BY默认是如何排序的?

大家好,我是阿飞云 怕什么真理无穷,进一步有近一步的欢喜 记录一个MySQL查询排序的问题,一个SQL语句没有加order by,那么查询出来的结果到底是按照什么规则排序的呢?查询了网上的一些资料,分享如下: •MyISAM 表 MySQL Select 默认排序是按照物理存储顺序显示的(不进行额外排序)。也就是说SELECT * FROM tbl – 会产生“表扫描”。如果表没有删除、替换、更

Ubuntu 拦截并监听 power button 的关机消息

system:ubuntu 18.04 platform:rockchip 3399 board:NanoPi M4 前言 物理上的电源按键短按之后,系统直接硬关机了,导致应用程序无法保护现场,就直接宕机了,查阅了大量资料,发现通过使用acpi可以禁止这个关机消息上传,但是看完acpi就放弃了这个想法,至少我在arm平台上没有具体成功实现这个消息的拦截,不然通过这个方式应该很便利,至少在int

repo使用总结—从入门到入门

文章目录 1 what's repo2 官方文档Repo 命令参考资料help 帮助init 初始化sync 同步所有项目文件upload 提交更改diffdownloadforallprunestart 创建本地分支Example:创建三个分支test-1,test-2,test-3 statusbranchesabandonExample:删除本地分支test-3 后续在使用中遇到问题

STM8内部EEPROM的使用详解

1 内存映射 STM8S105集成了多达1K的EEPROM(掉电数据不会丢失)最高可以支持30万次的擦写次数,用户可以将一些数据保存在EEPROM中,具体的memory map如下图所示; 在这里内存一页的大小为64 bytes(1 block), DATA EEPROM的内存地址映射如下图所示; 可以看到,EEPROM的起始地址为0x004000,结束地址为0x00427F,这个在