欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue使用mounted和created時(shí),this無法指向data中的數(shù)據(jù)問題

 更新時(shí)間:2023年07月04日 08:38:19   作者:Mboss76  
這篇文章主要介紹了Vue使用mounted和created時(shí),this無法指向data中的數(shù)據(jù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

使用mounted和created,this無法指向data中的數(shù)據(jù)問題

問題描述

預(yù)想在Vue創(chuàng)建頁面時(shí)接收后端數(shù)據(jù),然后渲染到頁面。

使用data進(jìn)行數(shù)據(jù)綁定,可是數(shù)據(jù)修改不成功。

//想要修改data中的gameNum
data(){
    return{
      allGames:'',
      gameNum:0
    }
  }
mounted() {
    axios.post('http://localhost:3000/allGames').then(function (response){
      console.log(response.data.gameNum);//先輸出響應(yīng)回來的gameNum
      this.gameNum=response.data.gameNum;//賦值給data中的gameNum
      console.log(this.gameNum);//然后輸出data中的gameNum
      }}

結(jié)果如下:

控制臺(tái)只輸出了響應(yīng)回來的gameNum,并且報(bào)錯(cuò)this.gameNum沒有找到

控制臺(tái)只輸出了響應(yīng)回來的gameNum,并且報(bào)錯(cuò)this.gameNum沒有找到!

問題分析

最開始的理解中this.gameNum指的是Vue中的數(shù)據(jù)gameNum,事實(shí)并不如此,這里的this代指window對(duì)象而不是Vue對(duì)象,所以真正找的是window對(duì)象下的gameNum,但是window下沒有g(shù)ameNum,所以就報(bào)錯(cuò)了。

解決辦法

解決辦法很簡單,把指向vue對(duì)象保存給一個(gè)變量that,在后面引用that來修改數(shù)據(jù)即可。

mounted() {
    let that=this;//將vue對(duì)象的引用保存在that中
    axios.post('http://localhost:3000/allGames').then(function (response){
      console.log(response.data.gameNum);
      that.gameNum=response.data.gameNum;//使用that來指向vue
      console.log(that.gameNum);
    }}

控制臺(tái)輸出了正確結(jié)果:

在這里插入圖片描述

Vue中created、mounted等方法整理

  • created:html加載完成之前,執(zhí)行。執(zhí)行順序:父組件-子組件
  • mounted:html加載完成后執(zhí)行。執(zhí)行順序:子組件-父組件
  • methods:事件方法執(zhí)行
  • watch:watch是去監(jiān)聽一個(gè)值的變化,然后執(zhí)行相對(duì)應(yīng)的函數(shù)。
  • computed:computed是計(jì)算屬性,也就是依賴其它的屬性計(jì)算所得出最后的值
export default {
     name: "draw",
     data(){      // 定義變量source        
       return {
         source:new ol.source.Vector({wrapX: false}),
       }
     },
    props:{ //接收父組件傳遞過來的參數(shù)
      map:{
        //type:String
      },
    },
mounted(){   //頁面初始化方法
    if (map==map){
    }
    var vector = new ol.layer.Vector({
      source: this.source
    });
    this.map.addLayer(vector);
  },
  watch: {   //監(jiān)聽值變化:map值
    map:function () {
      console.log('3333'+this.map);
      //return this.map
      console.log('444444'+this.map);
      var vector = new ol.layer.Vector({
        source: this.source
      });
      this.map.addLayer(vector);
    }
  },
  methods:{   //監(jiān)聽方法  click事件等,執(zhí)行drawFeatures方法
       drawFeatures:function(drawType){}
}
 

總結(jié)

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

相關(guān)文章

  • Vue draggable實(shí)現(xiàn)從左到右拖拽功能

    Vue draggable實(shí)現(xiàn)從左到右拖拽功能

    這篇文章主要為大家詳細(xì)介紹了Vue draggable實(shí)現(xiàn)從左到右拖拽功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue播放flv、m3u8視頻流(監(jiān)控)的方法實(shí)例

    vue播放flv、m3u8視頻流(監(jiān)控)的方法實(shí)例

    隨著前端大屏頁面的逐漸壯大,客戶的...其中實(shí)時(shí)播放監(jiān)控的需求逐步增加,視頻流格式也是有很多種,用到最多的.flv、.m3u8,下面這篇文章主要給大家介紹了關(guān)于vue播放flv、m3u8視頻流(監(jiān)控)的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • vue父組件向子組件傳遞多個(gè)數(shù)據(jù)的實(shí)例

    vue父組件向子組件傳遞多個(gè)數(shù)據(jù)的實(shí)例

    下面小編就為大家分享一篇vue父組件向子組件傳遞多個(gè)數(shù)據(jù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Vue導(dǎo)出json數(shù)據(jù)到Excel電子表格的示例

    Vue導(dǎo)出json數(shù)據(jù)到Excel電子表格的示例

    本篇主要介紹了Vue導(dǎo)出json數(shù)據(jù)到Excel電子表格的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-12-12
  • 簡單了解vue 插值表達(dá)式Mustache

    簡單了解vue 插值表達(dá)式Mustache

    這篇文章主要介紹了vue 插值表達(dá)式Mustache的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • vue中動(dòng)態(tài)添加class類名的方法

    vue中動(dòng)態(tài)添加class類名的方法

    今天小編就為大家分享一篇vue中動(dòng)態(tài)添加class類名的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vue多層嵌套路由實(shí)例分析

    vue多層嵌套路由實(shí)例分析

    這篇文章主要介紹了vue多層嵌套路由,結(jié)合實(shí)例形式分析了vue.js多層嵌套路由的概念、原理及相關(guān)操作技巧,需要的朋友可以參考下
    2019-03-03
  • 解決ant Design中Select設(shè)置initialValue時(shí)的大坑

    解決ant Design中Select設(shè)置initialValue時(shí)的大坑

    這篇文章主要介紹了解決ant Design中Select設(shè)置initialValue時(shí)的大坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • vue element插件this.$confirm用法及說明(取消也可以發(fā)請(qǐng)求)

    vue element插件this.$confirm用法及說明(取消也可以發(fā)請(qǐng)求)

    這篇文章主要介紹了vue element插件this.$confirm用法及說明(取消也可以發(fā)請(qǐng)求),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue之proxyTable代理超全面配置方式

    vue之proxyTable代理超全面配置方式

    本文作者分享了使用Vue進(jìn)行代理配置的個(gè)人經(jīng)驗(yàn),介紹了如何使用proxyTable進(jìn)行跨域請(qǐng)求配置,并提供了具體的配置文件和使用方法,便于同行參考和學(xué)習(xí)
    2024-10-10

最新評(píng)論