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

vue2更改data里的變量不生效時(shí),深層更改data里的變量問題

 更新時(shí)間:2024年03月01日 09:01:28   作者:美酒沒故事°  
這篇文章主要介紹了vue2更改data里的變量不生效時(shí),深層更改data里的變量問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vue2更改data里變量不生效,深層更改data里變量

如下圖,當(dāng)data里的數(shù)據(jù)多層嵌套

語法:

this.$set(位置,‘屬性',‘值');

示例:

this.$set(this.schoolBag[0].bagData[2],'value','666');

解釋:

設(shè)置第一個(gè)schoolBag數(shù)組里 的第三個(gè)bagData里 的value為666

vue 異步修改data中的值不生效

在做vue項(xiàng)目的時(shí)候,由于用到了echart社區(qū)的官方圖表,就小小的封裝了一下,封裝過后只需要傳入一個(gè)數(shù)組數(shù)據(jù)就可以渲染出圖表了,由于之前沒有數(shù)據(jù),我就在本地測試的時(shí)候傳給了他一些默認(rèn)數(shù)據(jù),但是到后來對接接口的時(shí)候,這是數(shù)據(jù)是從后臺(tái)哪里獲取的,所以我需要從vue data中拿數(shù)據(jù),然后傳到函數(shù)中,問題就是出在這一步,你死活無法拿到vue data中更新后的值,你說氣人不

這時(shí)會(huì)有人說,Vue是通過響應(yīng)式系統(tǒng)修改,響應(yīng)式系統(tǒng)會(huì)在初始化時(shí)對data進(jìn)行監(jiān)聽,如果要修改data中的值,應(yīng)該使用Vue提供的修改方法

this.$set(this.data, 'name', 'new value')

數(shù)組的話還可以這樣修改

this.arr.splice(0,1,[])

不過你要知道該方法觸發(fā)的時(shí)機(jī),數(shù)據(jù)如果沒有正確地綁定到模板中,那么即使使用了$set方法修改了data值,視圖也不會(huì)發(fā)生變化。

你可以通過在模板中使用{{}}v-bind綁定數(shù)據(jù),這樣以確保數(shù)據(jù)能正確地渲染到視圖中。

才能準(zhǔn)確地觸發(fā)更新

相反如果數(shù)據(jù)沒有進(jìn)行綁定,你會(huì)發(fā)現(xiàn)不管你在哪里訪問data,拿到的永遠(yuǎn)是之前的值

具體可以看下面這張圖:

其實(shí)呢要解決這個(gè)問題也簡單,你只需要在返回一個(gè)promise就可以了

下面是一些具體實(shí)現(xiàn)方法:

<script>
  export default {
    data() {
      return {
        arr:[
          [0,1,2,3],
          [1,2,3,4],
          [2,3,4,5],
        ]
      }
    },
      methods: {
        asyncfunc(){
           return new Promise((resolve, reject) => { 
              setTimeout(() => {
                this.$set(this.arr,0,[0,25])
                resolve()
              }, 5000);
            })
        }
      },
      mounted () {
        this.asyncfunc().then((result) => {
          console.log(this.arr[0],'值發(fā)生改變')
        })
      },
  }
</script>

這樣你就可以拿到data中更新后的值啦?。。?/p>

總結(jié)

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

相關(guān)文章

  • 淺談父子組件傳值問題

    淺談父子組件傳值問題

    這篇文章主要介紹了Vue父子組件傳值問題,文章中有詳細(xì)的示例代碼,感興趣的同學(xué)可以參考閱讀
    2023-04-04
  • Vue中引入使用patch-package為依賴打補(bǔ)丁問題

    Vue中引入使用patch-package為依賴打補(bǔ)丁問題

    這篇文章主要介紹了Vue中引入使用patch-package為依賴打補(bǔ)丁問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue tab切換,解決echartst圖表寬度只有100px的問題

    vue tab切換,解決echartst圖表寬度只有100px的問題

    這篇文章主要介紹了vue tab切換,解決echartst圖表寬度只有100px的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • 基于Vue2.0的分頁組件

    基于Vue2.0的分頁組件

    這篇文章主要為大家詳細(xì)介紹了基于Vue2.0的分頁組件的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • vue2.0 可折疊列表 v-for循環(huán)展示的實(shí)例

    vue2.0 可折疊列表 v-for循環(huán)展示的實(shí)例

    今天小編大家分享一篇vue2.0 可折疊列表 v-for循環(huán)展示的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • Vue不能檢測到Object/Array更新的情況的解決

    Vue不能檢測到Object/Array更新的情況的解決

    本篇文章主要介紹了Vue不能檢測到Object/Array更新的情況的解決,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • ESLint 是如何檢查 .vue 文件的

    ESLint 是如何檢查 .vue 文件的

    這篇文章主要介紹了ESLint 是如何檢查 .vue 文件的,幫助大家更好的理解和使用ESLINT,感興趣的朋友可以了解下
    2020-11-11
  • VueJs組件之父子通訊的方式

    VueJs組件之父子通訊的方式

    這篇文章主要介紹了VueJs組件之父子通訊的方式,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-05-05
  • Vuex state中同步數(shù)據(jù)和異步數(shù)據(jù)方式

    Vuex state中同步數(shù)據(jù)和異步數(shù)據(jù)方式

    這篇文章主要介紹了Vuex state中同步數(shù)據(jù)和異步數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • vue中如何添加百度統(tǒng)計(jì)代碼

    vue中如何添加百度統(tǒng)計(jì)代碼

    這篇文章主要介紹了vue中如何添加百度統(tǒng)計(jì)代碼,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2020-12-12

最新評論