最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue通過路由實現(xiàn)頁面間參數(shù)的傳遞

 更新時間:2023年04月21日 15:44:48   作者:Tango糖果π  
這篇文章主要介紹了Vue通過路由實現(xiàn)頁面間參數(shù)的傳遞,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

在Vue項目開發(fā)中,頁面之間傳遞參數(shù)有很多種方法

1.路由傳遞

// params單個參數(shù)傳遞
// 設置參數(shù) catid
this.$router.push({
    name: '/article/category', 
    params: {catid: '10'} 
})
// 獲取參數(shù) catid
this.$route.params.catid
 
// 多個參數(shù)傳遞
// 設置參數(shù) catid
this.$router.push({
    name: '/article/category', 
    params: { 
        catid: '10', 
        pcatid: '1', 
        user: {
            username: 'admin', 
            password: '1234556'
        } 
})
// 獲取參數(shù) catid
this.$route.params.catid
this.$route.params.pcatid
this.$route.params.user.username
this.$route.params.user.password
this.$router.push({
    path: '/article/category', 
    params: {catid: '10'} 
})
// 獲取參數(shù) catid
this.$route.params.catid
// query多個參數(shù)傳遞
// 設置參數(shù) catid
this.$router.push({
    path: '/article/category', 
    query: { 
        catid: '10', 
        pcatid: '1', 
        user: {
            username: 'admin', 
            password: '1234556'
        } 
})
// 獲取參數(shù) catid
this.$route.query.catid
this.$route.query.pcatid
this.$route.query.user.username
this.$route.query.user.password

2.sessionStorage/localStorage緩存的形式進行傳遞

// 設置catid參數(shù)
window.localStorage.setItem('catid','10')
// 獲取catid參數(shù)
window.localStorage.getItem('catid')
 
// 設置catid參數(shù)
window.sessionStorage.setItem('catid','10')
// 獲取catid參數(shù)
window.sessionStorage.getItem('catid')

注:

sessionStorage(會話存儲):生命周期是在僅在當前會話下有效。及只要這個瀏覽器窗口沒有關閉,即使刷新頁面或者進入同源另一個頁面,數(shù)據(jù)依然存在。但是sessionStorage在關閉了瀏覽器窗口后就會被銷毀。 

localStorage(本地存儲):生命周期是永久的,關閉頁面或瀏覽器之后localStorage中的數(shù)據(jù)也不會消失。localStorage除非主動刪除數(shù)據(jù),否則數(shù)據(jù)永遠不會消失。不可跨瀏覽器共用。

3.父子組件之間的傳值

  • 父組件給子組件傳值(通過props屬性)
  • 子組件給父組件傳值(通過emit事件)

 4.使用vuex進行傳值

export default new Vuex.Store({
  state: {
	  appkey: '',
	  infokey: ''
  },
  mutations: {
	  setAppkey(state,appkey){
		  state.appkey = appkey;
	  },
	  setInfokey(state,infokey){
		  state.infokey = infokey;
	  }
  },
  actions: {},
  modules: {}
});

其中 state 中為需要傳遞的值,mutation中為監(jiān)控值變化并修改值的方法,通過store.commit()方法來觸發(fā)狀態(tài)變更以及store.state來獲取狀態(tài)對象。

store.commit("setAppkey",response.data.HttpData.data.appkey);
store.commit("setInfokey",response.data.HttpData.data.infokey);
console.log(store.state.appkey,store.state.infokey);

這里我們介紹通過路由實現(xiàn)頁面間參數(shù)的傳遞

通過路由傳遞參數(shù)有兩個缺點:

1.參數(shù)直接暴露,安全性不高;

2.參數(shù)過長時,影響地址欄美觀。

但是路由傳遞參數(shù)這種方便比較直觀,用起來也方便,可以直接把鏈接地址放到a標簽的href中,也可以作為函數(shù)進行封裝,實現(xiàn)頁面跳轉和參數(shù)傳遞。

路由傳參的格式是: 

// 傳參
this.$router.push({
    name:'home',
    params: {
        message: "",
        data: {}
    }
})
// 或
this.$router.push({
    path:'/home',
    query: {
        message: "",
        data: {}
    }
})
// 接參
this.$route.params.message
this.$route.query.message

注意:

  • 傳參是this.$router,接收參數(shù)是this.$route 
  • 由于動態(tài)路由也是傳遞params的,所以在 this.$router.push() 方法中path不能和params一起使用,否則params將無效,接收參數(shù)頁面會是undefined,需要用name來指定頁面,也就是說,用query對應path(填寫路徑 /home),用params對應name(寫路由js中對應的name,而不是路徑)
  • 接收數(shù)據(jù)必須在頁面加載完成后,也就是在mounted接收,而不是created。

query和params的區(qū)別:

  • query傳值在瀏覽器地址欄傳遞數(shù)據(jù)可見,而params不可見
  • query配合著push的path,params配合著push的name進行地址的跳轉

實例1:直接在元素中添加跳轉地址和參數(shù)

第一步:在router里面的index.js文件中設置category路由路徑和參數(shù)

第二步:在header.vue里,可以使用a的href直接添加跳轉地址和參數(shù)

 第三步:在category.vue中接收參數(shù)

實例2:通過路由函數(shù)實現(xiàn)頁面跳轉和params參數(shù)傳遞

第一步:在router里面的index.js文件中設置category路由路徑和參數(shù)

第二步: 在header.vue里,通過@click方法實現(xiàn)push函數(shù)調用

 第三步:methods中編寫push調用函數(shù)

 

 第四步:在category.vue中接收參數(shù)

實例3:通過路由函數(shù)實現(xiàn)頁面跳轉和query參數(shù)傳遞

第一步:在router里面的index.js文件中設置category路由路徑,但不設置參數(shù)

 第二步: 在header.vue里,通過@click方法實現(xiàn)push函數(shù)調用

 第三步:methods中編寫push調用函數(shù)

 第四步:在category.vue中接收參數(shù)

到此這篇關于Vue通過路由實現(xiàn)頁面間參數(shù)的傳遞的文章就介紹到這了,更多相關vue路由實現(xiàn)頁面參數(shù)傳遞內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vue項目每次發(fā)版后要清理瀏覽器緩存問題解決辦法

    Vue項目每次發(fā)版后要清理瀏覽器緩存問題解決辦法

    最近項目更新頻繁,每次一更新客戶都說還跟之前的一樣,一查原因是因為客戶沒有清空瀏覽器的緩存,所以為了方便客戶看到最新版本,開始調研再發(fā)布新版本后自動清理緩存,這篇文章主要給大家介紹了關于Vue項目每次發(fā)版后要清理瀏覽器緩存問題的解決辦法,需要的朋友可以參考下
    2024-02-02
  • vue線上部署請求接口報錯net::ERR_CONNECTION_REFUSED

    vue線上部署請求接口報錯net::ERR_CONNECTION_REFUSED

    vue線上部署請求接口報錯net::ERR_CONNECTION_REFUSED問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • vue+webrtc(騰訊云) 實現(xiàn)直播功能的實踐

    vue+webrtc(騰訊云) 實現(xiàn)直播功能的實踐

    本文主要介紹了vue+webrtc(騰訊云) 實現(xiàn)直播功能的實踐,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 詳解.vue文件解析的實現(xiàn)

    詳解.vue文件解析的實現(xiàn)

    這篇文章主要介紹了詳解.vue文件解析的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • 基于Vue2實現(xiàn)印章徽章組件

    基于Vue2實現(xiàn)印章徽章組件

    這篇文章主要介紹了如何基于vue2實現(xiàn)簡單的印章徽章控件,文中通過示例代碼講解詳細,具有一定的學習價值,需要的朋友們下面就跟隨小編來一起學習學習吧
    2023-10-10
  • vue2.0實現(xiàn)倒計時的插件(時間戳 刷新 跳轉 都不影響)

    vue2.0實現(xiàn)倒計時的插件(時間戳 刷新 跳轉 都不影響)

    我發(fā)現(xiàn)好多倒計時的插件,刷新都會變成從頭再來,于是自己用vue2.0寫了一個,感覺還不錯,特此分享到腳本之家平臺供大家參考下
    2017-03-03
  • VUE腳手架框架編寫簡潔的登錄界面的實現(xiàn)

    VUE腳手架框架編寫簡潔的登錄界面的實現(xiàn)

    本文主要介紹了VUE腳手架框架編寫簡潔的登錄界面的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • Vue3如何自定義v-permission權限指令

    Vue3如何自定義v-permission權限指令

    這篇文章主要為大家詳細介紹了Vue3如何編寫一個?v-permission?指令來根據(jù)用戶權限動態(tài)控制元素的渲染,感興趣的小伙伴可以參考一下
    2024-12-12
  • el-date-picker時間清空值為null處理方案

    el-date-picker時間清空值為null處理方案

    本文介紹關于Vue.js項目中時間選擇器組件的問題,當選擇后清空導致值變?yōu)閚ull,進而引發(fā)后臺接口報錯,通過監(jiān)聽`overallForm.time`的值并設置為空數(shù)組,成功解決此問題,確保了數(shù)據(jù)正確性,同時,建議避免直接監(jiān)聽整個對象以優(yōu)化性能,感興趣的朋友一起看看吧
    2024-08-08
  • vue深度監(jiān)聽(監(jiān)聽對象和數(shù)組的改變)與立即執(zhí)行監(jiān)聽實例

    vue深度監(jiān)聽(監(jiān)聽對象和數(shù)組的改變)與立即執(zhí)行監(jiān)聽實例

    這篇文章主要介紹了vue深度監(jiān)聽(監(jiān)聽對象和數(shù)組的改變)與立即執(zhí)行監(jiān)聽實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09

最新評論

荔波县| 深水埗区| 朝阳区| 云龙县| 佳木斯市| 青州市| 普兰店市| 郁南县| 扎赉特旗| 金沙县| 凉城县| 桐乡市| 宜阳县| 彭泽县| 三明市| 乳山市| 资源县| 柞水县| 报价| 永修县| 师宗县| 阳信县| 改则县| 贡觉县| 达日县| 桐乡市| 尤溪县| 五峰| 青州市| 永仁县| 杭州市| 乌恰县| 宝山区| 大竹县| 乌拉特前旗| 聂拉木县| 正阳县| 泰和县| 衡南县| 平度市| 荆州市|