vue中子组件的created、mounted钩子中获取不到props中的值问题
出现这种情况的原因, 因为父组件中要传递的props属性是通过ajax请求回来的, 请求的这个过程是需要时间的,但是子组件的渲染要快于ajax请求过程,所以此时created 、 mounted这样的只会执行一次的生命周期钩子,已经执行了,但是 props 还没有流进来(子组件),所以只能拿到默认值。menu-list v-model="menuList"></menu-list>
·
出现这种情况的原因, 因为父组件中要传递的 props 属性是通过ajax请求回来的, 请求的这个过程是需要时间的,但是子组件的渲染要快于ajax请求过程,所以此时 created 、 mounted 这样的只会执行一次的生命周期钩子,已经执行了,但是 props 还没有流进来(子组件),所以只能拿到默认值。
menu-list v-model="menuList"></menu-list>
props: {
value: {
type: Array
}
},
watch: {
value: {
handler(newVal, oldVal) {
this.init(); //处理数据
},
immediate: true,// //immediate:true代表如果在 wacth 里声明了之后,就会立即先去执行里面的handler方法,如果为 false,不会在绑定的时候就执行。
deep: true //默认值是 false,代表是否深度监听
}
},
更多推荐
已为社区贡献3条内容
所有评论(0)