写了个三级联动子组件,在父组件界面想要拿到渲染后子组件的值。
后来发现思路有问题,可以在父组件中mounted里用nextTick,拿到渲染后的所有值,
但是.属性名
却拿到的是空值。
this.$nextTick(()=> {
let chil = this.$refs.child
console.log(this.$refs.child)
console.log(this.$refs.child.属性名)
// })
这是因为在子组件中,return data(){ 属性名:"" } 定义的初始值就为空
所以解决方案有两种:
第一种:
换个思路,把子组件中通过axios接口拿数据的代码写在父组件里,通过props把得到的数据传给子组件。完美的拿到了子组件的数据。
第二种:子传父也可以,用$emit ,父组件用个变量去接收。但是经验之谈,这样可能会有一点问题。推荐第一种。
好了,遇见个问题,记录一下~