企业官网网站建设上海,电脑网页版微信,原则网站设计版式,企业网站的作用需求#xff1a;最近遇到了一个需求#xff0c;把一个页面内部的tab选项卡改为路由控制的页面 问题#xff1a;查询条件单独封装一个组件后给父组件页面通过$emit事件传递表单参数#xff1b;但是在父组件中每次得到的表单值都是undefined#xff1b;调试了半天#xff0…需求最近遇到了一个需求把一个页面内部的tab选项卡改为路由控制的页面 问题查询条件单独封装一个组件后给父组件页面通过$emit事件传递表单参数但是在父组件中每次得到的表单值都是undefined调试了半天百度了各种方法都取不到值代码如下 data(){return{formData: {orgid: ,buildid: ,box_name: ,line_name: ,line_type: ,timing_type: ,timing_name: ,status: ,name: ,value: []},}
}父组件
seachForm comSearchcomSearch/seachForm
comSearch(data){console.log(data)//undefined
}子组件
onSearch() {this.$emit(comSearch,this.formData)
}, 接着发现子组件换一种写法可以取到值 子组件换一下两种方式可以取到值
onSearch() {this.$emit(comSearch,{a:this.formData})或者this.$emit(comSearch,[this.formData])
}, 最后想到是不是this的原因还有一个原因是父组件里也在mounted中调用列表接口此时父组件Dom加载完毕数据也变为最新的但是子组件还没有把this.formData传过来所以在父组件mounted中输出控制台是undefined也就是当加载完毕后再次点击查询按钮时this.formData又有数据的原因 onSearch() {let _this thisconsole.log(修改后this,_this this);this.$emit(comSearch,_this.formData)
},
问题虽然解决了打印出的判断居然是true希望路过的大神帮忙解释原因最后讲一下怎么监听this的变化