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

vue頁面params傳值的坑及解決

 更新時間:2023年05月16日 23:28:51   作者:MG516  
這篇文章主要介紹了vue頁面params傳值的坑及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

vue頁面params傳值的坑

a.vue向b.vue傳值

a.vue

this.$router.push({
? ? path: '/payType',
? ? query: {
? ? ? ? putUpList: this.putUpList,
? ? ? ? name:'111'
? ? },
? ? params:{
? ? ? ? cartList: this.cartList,
? ? ? ? totalMoney: this.totalMoney
? ? }
});

b.vue

mounted:function(){
? ? console.log(this.$route.params)
? ? console.log(this.$route.query)
}

坑來了~

query可以拿到,params拿不到

需要在注冊路由的地方給路由加上name參數(shù)

const router = new VueRouter({
? ? routes:[{
? ? ? ? ...
? ? },{
? ? ? ? path:'/payType',
? ? ? ? name:'inputComp',
? ? ? ? component: payType
? ? }]
})

a.vue跳轉(zhuǎn)路由的地方同樣加上name參數(shù),b.vue就可以拿到params了

this.$router.push({
? ? path: '/payType',
? ? name: 'inputComp',
? ? query: {
? ? ? ? putUpList: this.putUpList,
? ? ? ? name:'111'
? ? },
? ? params:{//一定要設(shè)置name,才可以傳params
? ? ? ? cartList: this.cartList,
? ? ? ? totalMoney:this.totalMoney
? ? }
});

vue跨頁面?zhèn)髦档木?/h2>

眾所周知,以前開發(fā)者只要掌握HTML、CSS、JavaScript 三駕馬車就能勝任一份Web前端的工作。而在技術(shù)日新月異的現(xiàn)在,Vue, React,Angular在代替舊的前端框架已經(jīng)是大勢所趨了。

vue簡介

Vue是一套用于構(gòu)建用戶界面的漸進(jìn)式框架。與其它大型框架不同的是,Vue 被設(shè)計為可以自底向上逐層應(yīng)用。Vue 的核心庫只關(guān)注視圖層,不僅易于上手,還便于與第三方庫或既有項目整合。另一方面,當(dāng)與現(xiàn)代化的工具鏈以及各種支持類庫結(jié)合使用時,Vue 也完全能夠為復(fù)雜的單頁應(yīng)用提供驅(qū)動。

是一個興起的前端js庫,是一個精簡的MVVM。從技術(shù)角度講,Vue.js 專注于 MVVM 模型的 ViewModel 層。它通過雙向數(shù)據(jù)綁定把 View 層和 Model 層連接了起來,通過對數(shù)據(jù)的操作就可以完成對頁面視圖的渲染。

與ajax比較

vue本身不支持ajax請求,需要借助vue-resource,axios插件。vue2官方推薦axios,是一個基于Promise的HTTP請求客戶端,不再對vue-resource進(jìn)行維護(hù)和更新。

axios([options]) ?
axios.get(url[,options]);

傳參方式:

  1. 通過url傳參
  2. 通過params選項傳參
axios.post(url,data,[options]);

axios默認(rèn)發(fā)送數(shù)據(jù)時,數(shù)據(jù)格式是Request Payload,并非我們常用的Form Data格式,所以參數(shù)必須要以鍵值對形式傳遞,不能以json形式傳參

傳參方式:

  1. 自己拼接為鍵值對
  2. 使用transformRequest,在請求發(fā)送前將請求數(shù)據(jù)進(jìn)行轉(zhuǎn)換
  3. 如果使用模塊化開發(fā),可以使用qs模塊進(jìn)行轉(zhuǎn)換 

axios本身并不支持發(fā)送跨域的請求,沒有提供相應(yīng)的API,作者也暫沒計劃在axios添加支持發(fā)送跨域請求,所以只能使用第三方庫

ajax傳參格式

ajax是jquery封裝的一個前端方法,通過請求后臺API接口方式,用以局部刷新和動態(tài)展示頁面。

$.ajax({
    url: "http://localhost:8082/boot/request/parameter",
    type: "post",
    contentType: "application/json;charset=utf-8",
    data: JSON.stringify({name: "aaa", foo: ["bar1", "bar2"]}),
    success: function (json) {
        console.log(json);
    }
});

vue傳參格式

場景:點擊父頁面的XX查詢按鈕,彈出子頁面queryView,父頁面選中的某行記錄值傳到子頁面中,子頁面請求后臺Api關(guān)聯(lián)查詢并展示父頁面選中記錄對應(yīng)的明細(xì)記錄。

  • 在父頁面定義方法query()
  • const rows為父頁面查詢列表選中的某行記錄
  • queryView為子頁面
  • params 為定義的傳值對象
  • callback 回調(diào)方法
query() {
      let title = "XX查詢"
      const rows = this.$refs.multipleTable.selection;
      this.$dialog.modal(queryView, {
        title: title,
        width: 1200,
        height: 600,
        params: {domain: Object.assign({}, rows[0])},
        callback: data=> {
          if(data.flag == true)
            this.queryData()
        }
      });
    }

子頁面中定義接收參數(shù)對象,接收參數(shù)對象有3種格式:變量、對象、常量

這里定義為對象 Object

props:{
    domain: {
      type: Object,
      default: function() {}
    }
  }

調(diào)用后臺api接口關(guān)聯(lián)查詢并展示

  • params 定義方法中變量,獲取從父頁面接收的對象中的屬性值
  • this.operat4Data(XXApi.getList, params, null, null); 調(diào)用后臺api接口及傳參
queryData() {
      let params = {apiParams:this.domain.apiParams};
      let respData =  this.operat4Data(XXApi.getList, params, null, null);
      respData.then( data => {
        this.dataList = data.posts;
        this.total = data.count;
      });
    }

vue的優(yōu)勢

vue因其極具方便靈活易用等特性,為廣大前端開發(fā)者所推崇和使用。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue+Element實現(xiàn)搜索關(guān)鍵字高亮功能

    vue+Element實現(xiàn)搜索關(guān)鍵字高亮功能

    這篇文章主要為大家詳細(xì)介紹了vue+Element實現(xiàn)搜索關(guān)鍵字高亮功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • Vue中key的作用和Diff算法原理舉例深度解析

    Vue中key的作用和Diff算法原理舉例深度解析

    Vue中使用key至關(guān)重要,因為它可標(biāo)識列表項,以進(jìn)行準(zhǔn)確的更新,優(yōu)化diff算法,以高效檢測更改,緩存子組件,以提高性能,這篇文章主要介紹了Vue中key的作用和Diff算法原理的相關(guān)資料,需要的朋友可以參考下
    2026-03-03
  • vue組件與復(fù)用詳解

    vue組件與復(fù)用詳解

    組件 (Component) 是 Vue.js 最強(qiáng)大的功能之一。組件可以擴(kuò)展 HTML 元素,封裝可重用的代碼。這篇文章主要介紹了vue組件與復(fù)用,需要的朋友可以參考下
    2018-04-04
  • Elementui表格組件+sortablejs實現(xiàn)行拖拽排序的示例代碼

    Elementui表格組件+sortablejs實現(xiàn)行拖拽排序的示例代碼

    這篇文章主要介紹了Elementui表格組件+sortablejs實現(xiàn)行拖拽排序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • vue axios數(shù)據(jù)請求get、post方法及實例詳解

    vue axios數(shù)據(jù)請求get、post方法及實例詳解

    axios是一個基于Promise,同時支持瀏覽器端和Node.js的HTTP庫,常用于Ajax請求。這篇文章主要介紹了vue axios數(shù)據(jù)請求get、post方法的使用 ,需要的朋友可以參考下
    2018-09-09
  • Vue數(shù)據(jù)雙向綁定的深入探究

    Vue數(shù)據(jù)雙向綁定的深入探究

    這篇文章主要給大家介紹了關(guān)于Vue數(shù)據(jù)雙向綁定的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • Vue偵聽器:watch與watchEffect的區(qū)別與使用

    Vue偵聽器:watch與watchEffect的區(qū)別與使用

    watch 和 watchEffect 都是 Vue 中用于偵聽響應(yīng)式數(shù)據(jù)變化的工具,但它們的依賴追蹤方式、執(zhí)行時機(jī)和使用場景有顯著區(qū)別, 下面就來詳細(xì)的介紹一下,感興趣的可以了解一下
    2026-02-02
  • axios封裝,使用攔截器統(tǒng)一處理接口,超詳細(xì)的教程(推薦)

    axios封裝,使用攔截器統(tǒng)一處理接口,超詳細(xì)的教程(推薦)

    這篇文章主要介紹了axios封裝使用攔截器處理接口,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Vue.js實現(xiàn)對視頻預(yù)覽的示例代碼

    Vue.js實現(xiàn)對視頻預(yù)覽的示例代碼

    本文主要介紹了Vue.js實現(xiàn)對視頻預(yù)覽的示例代碼,通過監(jiān)聽文件選擇事件和使用FileReader API,可以實現(xiàn)視頻文件的預(yù)覽功能,感興趣的可以了解一下
    2025-01-01
  • vue項目使用cdn加速減少webpack打包體積

    vue項目使用cdn加速減少webpack打包體積

    通過壓縮代碼的手段可減小網(wǎng)絡(luò)傳輸?shù)拇笮?但實際上最影響用戶體驗的還是網(wǎng)頁首次打開時的加載等待,其根本原因是網(wǎng)絡(luò)傳輸過程耗時較大,這篇文章主要給大家介紹了關(guān)于vue項目使用cdn加速減少webpack打包體積的相關(guān)資料,需要的朋友可以參考下
    2022-08-08

最新評論

汝南县| 巫溪县| 准格尔旗| 铜陵市| 东乌珠穆沁旗| 社旗县| 民乐县| 田林县| 上饶县| 乐昌市| 资阳市| 亚东县| 波密县| 水富县| 荣昌县| 兴宁市| 米泉市| 洛隆县| 永川市| 南昌县| 霸州市| 泾阳县| 定南县| 阳泉市| 榕江县| 沂水县| 铜山县| 大化| 淅川县| 汶上县| 宁德市| 酉阳| 康定县| 海城市| 方城县| 三江| 大连市| 长泰县| 平南县| 乌恰县| 迁西县|