08.Vue傳值方式 (VUE全棧開發(fā)學習筆記)

08.Vue傳值方式.jpg

1.prototype

使用場景:全局對象,函數(shù)
對象掛載 main.js:

import lanzyRequest from ./network/lanzyrequest.js
Vue.prototype.lanzyRequest = lanzyRequest

對象使用 xxx.vue:

this.$lanzyRequest.xxx

2.路由傳參

使用場景:路由 使用2.2所示方法

2.1. path傳參

配置路由:

{
  path: '/lanzypath/:id',
  name: 'particulars',
  component: particulars
}

傳參:

this.$router.push|replace({
  path: `/lanzypath/${id}`,
})

取參:

this.$route.params.id

2.2. params|query

傳參:

this.$router.replace({
  name: router/index.js中定義的路由名,
  query|params: {
    key: value
  }
})

取參:

this.$route.query|params.key

query相當于get方式傳參,參數(shù)會在地址欄中顯示
params相當于post方式傳參,參數(shù)不會在地址欄中顯示,刷新頁面會丟失參數(shù)
注意vue不支持同路由跳轉(zhuǎn),所以參數(shù)變化而路由地址不變的情況只能使用query方式傳參

3.父子組件傳參

使用場景:父子組件間

3.1. 父傳子

子組件定義屬性:

props: {
    title:String
}

父組件通過html標簽屬性傳值:

<tab-bar-left :title="title"></tab-bar-left>
3.2. 子傳父

子組件發(fā)射事件:

this.$emit('onShow', {e, schedule})

父組件接收事件:

< XXXXQuarterCell @show="onShow"></XXXXQuarterCell>
  show (event) {
  let {e, schedule} = event
},

4.Vuex共享數(shù)據(jù)

store/mod1.js

export default {
  state:{ 
    curWeek: lanzyUtilsJs.getCurWeek()
  },
  getters:{
    getObjByYmd (state, getters) {
      return ymd => {
        return state.schedules.filter(s => s.ymd === ymd)
      }
  },
  mutatons:{
    preNextDay (state, curDate) {
      state.curDate = curDate
    }
  },
  actions:{
    aUpdateInfo(context, param){
      return new Promise((resolve, reject) => {
        setTimeout(() => {
          context.commit('mutationsMethod');
          resolve('返回值');
        }, 1000)
      }
    },
}

views/xxx.vue

this.$store.mod1.state.StateName
this.$store.mod1.getters.GetterName(param)
this.$store.mod1.commit('mutation name', param);
this.$store.mod1.disaptch('action name', param);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容