Vue.js vue route在vuejs2.0中更改路由器时是否将不同的道具传递给不同的视图组件?

Vue.js vue route在vuejs2.0中更改路由器时是否将不同的道具传递给不同的视图组件?,vue.js,vuejs2,vue-router,Vue.js,Vuejs2,Vue Router,在中,当路由通过更改时,我们可以将参数传递给组件 <router-view class="view" :propForA="AData"></router-view> 我的问题是,如果我们需要将不同的道具传递给不同的路由组件, 例如,propForB属性将具有BData,propForC属性将具有CData 如何做到这一点?特别是在vuejs2.0中?我会发送一个具有不同值的道具,以适合您的组件。。。例如: <router-view class="view"

在中,当路由通过更改时,我们可以将参数传递给组件

<router-view class="view" :propForA="AData"></router-view>

我的问题是,如果我们需要将不同的道具传递给不同的路由组件, 例如,propForB属性将具有
BData
propForC
属性将具有
CData


如何做到这一点?特别是在vuejs2.0中?

我会发送一个具有不同值的道具,以适合您的组件。。。例如:

<router-view class="view" :propData="propToSend"></router-view>

当然,还有其他方法可以达到同样的效果……

此解决方案在一定程度上有效,但并不完全符合我的要求。若要向属性添加包装器,我必须更改每个组件的定义对象,以便通过PropData.something和PropData.somethingElse检索道具。我喜欢它不改变成吨的遗留组件。刚才,我在路由器视图定义中给出了所有的道具数据,这看起来很难看,但是很有效。
export default {

  data: function () {
    return {
      propAData: {
        something: 'value',
        somethingElese: ['other', 'value']
      },
      propBData: {
        somethingOther: 123
      },
      propToSend: null
    }
  },

  watch: {
    '$route': function (val, oldVal) {
      if (this.$route.name === 'Something') {
        this.propToSend = this.propAData
      } else {
        this.propToSend = this.propBData
      }
    }
  }
}