父组件传递props异步数据到子组件的问题?
- 子组件的插值表达式中显示异步数据的某个属性值报错
- created获取props的数据报错
解决办法:
- 父组件调用子组件中加判断v-if
- 在子组件中用watch监听数据,获取值在methods中定义方法在watch中调用
- 用bus,$emit, o n , 在 父 组 件 中 异 步 获 取 数 据 时 on, 在父组件中异步获取数据时 on,在父组件中异步获取数据时emit传递数据,在子组件中 $on接收父组件传递的数据进行相应的显示。(parent.vue和child.vue必须公用一个事件总线(也就是要引入同一个js,这个js定义了一个类似let bus = new Vue()的东西供这两个组件连接),才能相互触发)
- 使用prop default来解决{{childObject.items[0]}}。子组件中接收props childObject的default中定义默认值,如:props: {
childObject: {
type: Object,
default () {
return {
items: ‘’
}
}
}
},
5.vuex,需要在子组件中引入 import { mapState, mapGetters } from ‘vuex’,computed: {
…mapGetters({
item: ‘getAsyncData’
}),
…mapState({
item0: state => state.index.asyncData
})
},
借鉴:https://www.jb51.net/article/117447.htm