猿问

VUE中props复杂对象如何传递

问题描述
为了更好的封装组件,和让整个程序看起来更友好和规范一些,我准备将每个组件需要传递的信息都通过来ComponentData封装如,有个组件为BaseTable:
props:{
ComponentData:{
tableconfgName:"",
sql:"",
addflag:true,
editflag:true,
delflag:true
}
},
父组件中通过:
basetable:{
tableconfgName:"",
delflag:true,
sql:""
}
来给组件传递,但组件不能获得相关信息,而且我通过组件的watch方法也尝试过,不能监听父组件给组件传值
watch:{
"ComponentData.sql":function(n,o){
console.log(n);
}
}
请教各位大神有无更好的方法,因为我写的功能很复杂,一个页面中会用到大量的子定义组件,父子组件会涉及到大量的参数传递,如果不能很好的规划传参信息,程序代码很混乱。
问题出现的环境背景及自己尝试过哪些方法
相关代码
//请把代码文本粘贴到下方(请勿用图片代替代码)
你期待的结果是什么?实际看到的错误信息又是什么?
月关宝盒
浏览 2179回答 2
2回答

UYOU

你可以如此写demo。参考我总结的文章如果你想将一个对象的所有属性都作为prop传入,那么你可以使用不带参数的v-bind来取代v-bind:propName。
随时随地看视频慕课网APP

相关分类

Vue.js
我要回答