vue慕课网音乐项目手记:39-vuex榜单详情的vuex路由通信

首先呢,是top-list.vue的布局,这里当然很简单啦:

<template>
  <transition name="slide">
    <music-list :title="title" :bg-image="bgImage"></music-list>
  </transition>
</template>
<style lang="stylus" scoped>
  .slide-enter, .slide-leave-to
    transform translate3d(100%, 0, 0)
  .slide-enter-active, .slide-leave-active
    transition all 0.3s ease
</style>

然后就是实现vuex的数据传递了:
state里面存储一个空的topList

topList: {}

mutationTypes和mutation里面写修改的方法:

export const SET_TOP_LIST = 'SET_TOP_LIST'
[types.SET_TOP_LIST] (state, topList) {
    state.topList = topList
  }

然后是getters里面的获取数据:

export const topList = state => state.topList

好了,到这里,vuex的套路就完成了。
rank组件里面的方法:

...mapMutations({
  setTopList: 'SET_TOP_LIST'
})
selectItem (item) {
      this.$router.push({
        path: `/rank/${item.id}`
      })
      this.setTopList(item)
    },

然后就是top-list组件的使用啦:

computed: {
    title () {
      return this.topList.topTitle
    },
    bgImage () {
      return this.topList.picUrl
    },
    ...mapGetters([
      'topList'
    ])
  },

到此结束。
top-list

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值