view-router 2.0 , router-view 传递 props 问题 , 怎么传给组件的是空啊

app.vue
<template>
  <div>
    <v-header :seller="seller"></v-header>
    <div class="tab">
      <div class="tab-item">
        <router-link to="/goods">商品</router-link>
      </div>
      <div class="tab-item">
        <router-link to="/ratings">评论</router-link>
      </div>
      <div class="tab-item">
        <router-link to="/seller">商家</router-link>
      </div>
    </div>
    <router-view :seller="seller"></router-view>
  </div>
</template>

export default {
name: 'app',
data () {
  return {
    seller: {}
  }
},
created () {
  this.$http.get('/api/seller').then((res) => {
    if (res.body.errno === ERR_OK) {
      this.seller = res.body.data
    }
  }, () => {
  })
},
components: {
  'v-header': header
}

}

goods.vue

export default {
    props: {
      seller: {
        type: Object
      }
    },
    created () {
        console.log(this.seller) // seller 为空对象
    }
}
阅读 4.9k
5 个回答

vue得后台数据是异步的,可以在路由用if判断是不是已经得到数据.

我理解有误, props 参数传递成功了, 只是异步的数据还没回来.

新手上路,请多包涵

你怎么解决这个问题,我也遇到了

新手上路,请多包涵

我也遇到了这个问题我的解决方式有点粗糙,我是在beforeUpdate函数中检测数据的更新然后拿到了seller

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题