1

这张票中,我们可以通过以下方式在路由更改时将参数传递给组件

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

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

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

4

1 回答 1

1

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

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

然后像这样

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
      }
    }
  }
}

当然还有其他方法可以达到相同的结果...

于 2016-09-14T21:29:06.023 回答