Javascript 如何处理Vue.js中数据中多层JSON的设置值
以下是我的Vue组件childEle的Javascript 如何处理Vue.js中数据中多层JSON的设置值,javascript,vue.js,Javascript,Vue.js,以下是我的Vue组件childEle的数据中的一个表单: data:{ form:{ root1:Number, root2:{ child1:[], child2:{}, child3:String }, root3:[], root4:{ child4:string, child5:[] } } } 它是一个非常复杂的JSON对象。由于它是用iView中的表单提交的,所以似乎
数据中的一个表单:
data:{
form:{
root1:Number,
root2:{
child1:[],
child2:{},
child3:String
},
root3:[],
root4:{
child4:string,
child5:[]
}
}
}
它是一个非常复杂的JSON对象。由于它是用iView
中的表单
提交的,所以似乎不可能展平这个JSON对象
。现在,我需要在打开此组件后设置此表单的值(事实上,它是一个模式
),因此我通过道具
从父元素传输值:
props:{
outForm:{
type:Object,
default: function () {
return {}
}
}
……
}
并向其添加属性watch
:
watch:{
outForm(val){
this.form = val
}
}
现在出现了一个问题。我还绑定了一个值
属性来控制是否显示模式
,但是当我将值转移到值
属性时,数据
中的值
没有改变,它无法关闭模式
,即使我调用了this.$forceUpdate()
。
如何处理?谢谢你的帮助 显示或隐藏模态的控件不需要保留在模态组件中
一个选项是将模式设置为始终处于活动状态,并在父级内部使用v-if条件对其进行控制,例如在名为showmodel
的变量中
因此,当用户执行显示模态的操作时,父级设置为true,另一方面,模态发出关闭事件(this.$emit('close')
),在父级内部捕获(
),并将showmodel
设置为false
但是如果你真的需要把这个变量放到表单中,也许会有帮助