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

Vue3在Setup中使用axios請(qǐng)求獲取的值方式

 更新時(shí)間:2022年06月24日 11:02:50   作者:3v3n1ng  
這篇文章主要介紹了Vue3在Setup中使用axios請(qǐng)求獲取的值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Setup中使用axios請(qǐng)求獲取的值

上次我們使用axios給項(xiàng)目搞上了網(wǎng)絡(luò)請(qǐng)求,從此項(xiàng)目數(shù)據(jù)不再是靜態(tài)的。對(duì)于后端返回的值如何賦值給data里面的變量并且賦予數(shù)據(jù)響應(yīng)式,寫此日記記錄踩坑過(guò)程。

axios返回的項(xiàng)目數(shù)據(jù)無(wú)法通過(guò)函數(shù)返回值返回,如何獲取返回值呢?

<script>
import {  defineComponent, reactive, onMounted, toRefs, ref } from "vue";
import { getProjectDetailAPI } from "@/api/api";
export default defineComponent({
  setup() {
    //這里定義一個(gè)結(jié)構(gòu)體,用來(lái)保存項(xiàng)目信息
    var Data = reactive({
      projectData: [],
      projectDetailData: [],
    });
    function GetProjectDetail(obj) {
      const pid = obj.pid;
      getProjectDetailAPI({ ProjectID: pid })
        .then((result) => {
          /*Data.projectDetailData這個(gè)變量是我們定義的reactive對(duì)象
          所以你打印出來(lái)他是一個(gè)數(shù)據(jù)代理的實(shí)例,并非array(),所以想要把
          獲取的報(bào)文數(shù)據(jù)復(fù)制到里面,需要使用深拷貝*/
          Data.projectDetailData = JSON.parse(JSON.stringify(result.data));
        })
        .catch((err) => {
          console.log(err);
        });
    }
    //掛載后調(diào)用函數(shù)獲取項(xiàng)目數(shù)據(jù)
    onMounted(() => {
      GetProjectData();
    });
    return {
      //解構(gòu)Data結(jié)構(gòu)體,讓模板可以直接調(diào)用Data里面的對(duì)象
      ...toRefs(Data),
    };
  },
});
</script>

Vue3+Setup使用知識(shí)點(diǎn)

<script lang="ts" setup>
import {getCoupon} from './request';//request里面包含接口,此處是引入getCoupon這個(gè)接口
import { onMounted, reactive, ref, getCurrentInstance, onActivated } from 'vue';
import { useRoute, useRouter } from 'vue-router';
const route = useRoute();//獲取路由參數(shù)
const router = useRouter();//獲取路由對(duì)象
const emit = defineEmits(['downStep']);//初始化emit調(diào)用的方法
const props = defineProps({//初始化prop內(nèi)部參數(shù)
	id:Number,
	leave:{
		type:String,//類型
		default:'一級(jí)'//默認(rèn)參數(shù)
	}
});
let name = ref('');//ref初始化普通參數(shù)
let obj1 = reactive({//ref初始化復(fù)雜對(duì)象參數(shù)
      name: "老王",
      age: "50",
      test: {
        salary: 3000,
        year: 1,
      },
    });
let obj2 = ref({//ref也可初始化復(fù)雜對(duì)象參數(shù)
      name: "老王",
      age: "50",
      test: {
        salary: 3000,
        year: 1,
      },
    }); 
//ref與reactive都可初始化復(fù)雜對(duì)象參數(shù),但是使用上不同
console.log(obj1.name);
console.log(obj2.value.name);   
console.log(name.value);//ref使用需要.value,reactive則不用      
watch(name, (newVal, oldValue) => {//監(jiān)聽單個(gè)基本數(shù)據(jù)類型(ref)
     console.log(newVal, oldValue);
 });    
const getList = async (a)=>{//async函數(shù)
	let data = await getCoupon({a});
};
const getBtnClick =()=>{//普通函數(shù)
	emit('downStep',1);//對(duì)比vue2中的this.$emit
	console.log(props.id);//使用props中的id
}
const back = ()=>{
	//router.push("/aa");//跳轉(zhuǎn)其他頁(yè)面
	router.push({url:'/aa',query:{name:'測(cè)試'}});//帶參跳轉(zhuǎn)
	//router.replace("/aa")//
}
onMounted(() => {//頁(yè)面初始化時(shí)只請(qǐng)求一次
 //初始化生命周期,一般初始化參數(shù)請(qǐng)求時(shí)將獲取數(shù)據(jù)接口寫在此處
 let a = route.query.a;//獲取跳轉(zhuǎn)頁(yè)面時(shí)傳遞的參數(shù)a
 getList(a); 
});
onActivated(() => {//頁(yè)面每次進(jìn)入時(shí)都請(qǐng)求一次,當(dāng)使用keep-alive并且每次進(jìn)入頁(yè)面都需調(diào)用一次時(shí)使用
 let a = route.query.a;//獲取跳轉(zhuǎn)頁(yè)面時(shí)傳遞的參數(shù)a
 getList(a); 
});
</script>

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

相關(guān)文章

  • VUE實(shí)現(xiàn)移動(dòng)端列表篩選功能

    VUE實(shí)現(xiàn)移動(dòng)端列表篩選功能

    這篇文章主要介紹了VUE實(shí)現(xiàn)移動(dòng)端列表篩選功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Vue前端表格導(dǎo)出Excel文件的圖文教程

    Vue前端表格導(dǎo)出Excel文件的圖文教程

    我們?cè)陂_發(fā)的時(shí)候會(huì)經(jīng)常用的導(dǎo)出excel表格功能,剛好自己開發(fā)有遇到,就記錄一下,下面這篇文章主要給大家介紹了關(guān)于Vue前端表格導(dǎo)出Excel文件的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • vue+springboot圖片上傳和顯示的示例代碼

    vue+springboot圖片上傳和顯示的示例代碼

    這篇文章主要介紹了vue+springboot圖片上傳和顯示的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • vue 實(shí)現(xiàn)動(dòng)態(tài)路由的方法

    vue 實(shí)現(xiàn)動(dòng)態(tài)路由的方法

    這篇文章主要介紹了vue 實(shí)現(xiàn)動(dòng)態(tài)路由的方法,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • 淺談sass在vue注意的地方

    淺談sass在vue注意的地方

    下面小編就為大家?guī)?lái)一篇淺談sass在vue注意的地方。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • Vue 實(shí)現(xiàn)從小到大的橫向滑動(dòng)效果詳解

    Vue 實(shí)現(xiàn)從小到大的橫向滑動(dòng)效果詳解

    這篇文章主要介紹了Vue 實(shí)現(xiàn)從小到大的橫向滑動(dòng)效果,結(jié)合實(shí)例形式詳細(xì)分析了vue.js橫向漸變滑動(dòng)效果的實(shí)現(xiàn)步驟、相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2019-10-10
  • vue各種時(shí)間類型轉(zhuǎn)換方法例子

    vue各種時(shí)間類型轉(zhuǎn)換方法例子

    前端前后端接?處理時(shí)經(jīng)常會(huì)遇到需要轉(zhuǎn)換不同時(shí)間格式的情況,下面這篇文章主要給大家介紹了關(guān)于vue各種時(shí)間類型轉(zhuǎn)換的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • 如何使用sm4js進(jìn)行加密和國(guó)密sm4總結(jié)

    如何使用sm4js進(jìn)行加密和國(guó)密sm4總結(jié)

    近期由于公司項(xiàng)目的需要開始研究國(guó)密SM4加密,下面這篇文章主要給大家介紹了關(guān)于如何使用sm4js進(jìn)行加密和國(guó)密sm4的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • 過(guò)濾器vue.filters的使用方法實(shí)現(xiàn)

    過(guò)濾器vue.filters的使用方法實(shí)現(xiàn)

    這篇文章主要介紹了過(guò)濾器vue.filters的使用方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • vue實(shí)現(xiàn)在線翻譯功能

    vue實(shí)現(xiàn)在線翻譯功能

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)在線翻譯功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09

最新評(píng)論

封开县| 宕昌县| 兴安县| 突泉县| 资溪县| 上蔡县| 洪洞县| 麟游县| 石门县| 湖州市| 漾濞| 米易县| 武川县| 平遥县| 商南县| 门源| 平和县| 垫江县| 沭阳县| 乐清市| 泰州市| 峨边| 广丰县| 绥中县| 彰化市| 浦县| 县级市| 镶黄旗| 苏尼特右旗| 江川县| 如东县| 邯郸县| 德昌县| 儋州市| 青冈县| 从江县| 富川| 宜兰县| 武乡县| 裕民县| 德阳市|