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

vue數(shù)組雙向綁定問(wèn)題及$set用法說(shuō)明

 更新時(shí)間:2022年09月10日 10:38:48   作者:吃嘍嘍  
這篇文章主要介紹了vue數(shù)組雙向綁定問(wèn)題及$set用法說(shuō)明,具有很好的參考價(jià)值,希望大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vue數(shù)組雙向綁定問(wèn)題及$set用法

在vue開(kāi)發(fā)中,我們有時(shí)會(huì)遇到數(shù)據(jù)更新視圖不更新問(wèn)題,地址沒(méi)有改變,vue就監(jiān)測(cè)不到數(shù)據(jù)變化。這個(gè)時(shí)候,雙向綁定就失效了。

以下這幾種情況,Vue都會(huì)檢測(cè)不到數(shù)據(jù)的變化

當(dāng)你利用索引直接設(shè)置一個(gè)數(shù)組項(xiàng)時(shí),例如:vm.items[indexOfItem] = newValue

當(dāng)你修改數(shù)組的長(zhǎng)度時(shí),例如:vm.items.length = newLength

由于 JavaScript 的限制,Vue不能檢測(cè)對(duì)象屬性的添加或刪除

數(shù)組實(shí)現(xiàn)響應(yīng)式的七個(gè)方法

  • push() 可向數(shù)組的末尾添加一個(gè)或多個(gè)元素,并返回新的長(zhǎng)度
  • pop() 從數(shù)組的尾部刪除一個(gè)元素,返回刪除的元素  
  • unshift() 向數(shù)組的前面添加元素,返回值:數(shù)組的新長(zhǎng)度 
  • shift() 從數(shù)組頭部刪除一個(gè)元素,返回刪除的元素 
  • splice()

刪除:兩個(gè)參數(shù),splice(index,num) 刪除的第一項(xiàng)的位置以及要?jiǎng)h除的項(xiàng)數(shù)

添加:三個(gè)參數(shù),插入起始位置、刪除的項(xiàng)數(shù)(為0)、插入的項(xiàng),向指定位置插入任意數(shù)量的項(xiàng)。arr.splice(1,0,"or","ue")

替換:先刪除再添加,三個(gè)參數(shù):起始位置、刪除的項(xiàng)數(shù)、要添加的項(xiàng)數(shù)。添加的與刪除的數(shù)量不一定要一致。arr.splice(1,2,"or","ue")

  • sort() 對(duì)數(shù)組元素進(jìn)行排序,默認(rèn)根據(jù)字符串Unicode碼進(jìn)行排序,對(duì)數(shù)字進(jìn)行排序時(shí)參數(shù)要傳遞一個(gè)比較函數(shù)。
?? ?sortNumber(a,b){
?? ? ? ? ?return a-b
?? ?};
  • reverse() 該方法用于顛倒數(shù)組中元素的順序

上面的方法把原數(shù)組更改掉,可以選用這些方法來(lái)實(shí)現(xiàn)響應(yīng)式。

flter()、concat() 和 slice()。它們不會(huì)變更原始數(shù)組,而總是返回一個(gè)新數(shù)組。使用這些方法會(huì)造成數(shù)據(jù)雙向綁定失效。

  • filter() 創(chuàng)建一個(gè)新的數(shù)組,新數(shù)組中的元素是通過(guò)檢查指定數(shù)組中符合條件的所有元素。
  • concat() 用于連接兩個(gè)或多個(gè)數(shù)組。該方法不會(huì)改變現(xiàn)有的數(shù)組.
  • slice() 可從已有的數(shù)組中返回選定的元素,選擇從給定的 start 參數(shù)開(kāi)始的元素,并在給定的 end 參數(shù)處結(jié)束,但不包括。該方法并不會(huì)修改數(shù)組,而是返回一個(gè)子數(shù)組.

$set用法

當(dāng)數(shù)據(jù)沒(méi)有被雙向綁定的時(shí)候,我們可以使用$set

this.$set(原數(shù)組, 索引值, 需要賦的值) 

vue中$set解決數(shù)據(jù)雙向綁定

由于 JavaScript 的限制,Vue 不能檢測(cè)以下變動(dòng)的數(shù)組:

當(dāng)你利用索引直接設(shè)置一個(gè)項(xiàng)時(shí),例如:vm.items[indexOfItem] = newValue

解決:用$set方法

當(dāng)你修改數(shù)組的長(zhǎng)度時(shí),例如:vm.items.length = newLength

解決:vm.items.splice(newLength)

this.$set(Object, key, value)
//this.$set(this.list[i],"flag",true)

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

相關(guān)文章

  • el-form中的rules未生效的解決方法

    el-form中的rules未生效的解決方法

    本文主要介紹了el-form中的rules未生效的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Vue路由監(jiān)聽(tīng)實(shí)現(xiàn)同頁(yè)面動(dòng)態(tài)加載的示例

    Vue路由監(jiān)聽(tīng)實(shí)現(xiàn)同頁(yè)面動(dòng)態(tài)加載的示例

    本文主要介紹了Vue基于路由監(jiān)聽(tīng)實(shí)現(xiàn)同頁(yè)面動(dòng)態(tài)加載的示例,重點(diǎn)在于切換路由的時(shí)候,重新拉取列表數(shù)據(jù),接下來(lái)看看實(shí)現(xiàn)方法吧
    2021-05-05
  • Element?Plus的el-tree-select組件懶加載+數(shù)據(jù)回顯詳解

    Element?Plus的el-tree-select組件懶加載+數(shù)據(jù)回顯詳解

    el-tree-select組件是el-tree和el-select的結(jié)合體,他們的原始屬性未被更改,下面這篇文章主要給大家介紹了關(guān)于Element?Plus的el-tree-select組件懶加載+數(shù)據(jù)回顯的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • 解決VUE自定義拖拽指令時(shí) onmouseup 與 click事件沖突問(wèn)題

    解決VUE自定義拖拽指令時(shí) onmouseup 與 click事件沖突問(wèn)題

    這篇文章主要介紹了解決VUE自定義拖拽指令時(shí) onmouseup 與 click事件沖突問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • 詳細(xì)聊聊Vue生命周期的那些事

    詳細(xì)聊聊Vue生命周期的那些事

    這篇文章主要給大家介紹了關(guān)于Vue生命周期的那些事,在使用vue開(kāi)發(fā)過(guò)程中經(jīng)常會(huì)接觸到生命周期的問(wèn)題,但對(duì)于每個(gè)鉤子函數(shù)都做了什么,應(yīng)用場(chǎng)景比較模糊,希望通過(guò)這次梳理讓自己清楚一些,需要的朋友可以參考下
    2021-09-09
  • Vue(定時(shí)器)解決mounted不能獲取到data中的數(shù)據(jù)問(wèn)題

    Vue(定時(shí)器)解決mounted不能獲取到data中的數(shù)據(jù)問(wèn)題

    這篇文章主要介紹了Vue(定時(shí)器)解決mounted不能獲取到data中的數(shù)據(jù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • vite+ts vite.config.ts使用path報(bào)錯(cuò)問(wèn)題及解決

    vite+ts vite.config.ts使用path報(bào)錯(cuò)問(wèn)題及解決

    這篇文章主要介紹了vite+ts vite.config.ts使用path報(bào)錯(cuò)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vue中的computed和watch用法及區(qū)別

    Vue中的computed和watch用法及區(qū)別

    Vue中的computed和watch都可以監(jiān)聽(tīng)數(shù)據(jù)變化,但computed主要用于計(jì)算派生屬性,而watch則用于監(jiān)聽(tīng)特定數(shù)據(jù)變化并執(zhí)行回調(diào)函數(shù)。兩者使用時(shí)需要注意區(qū)別
    2023-04-04
  • vue中使用[provide/inject]實(shí)現(xiàn)頁(yè)面reload的方法

    vue中使用[provide/inject]實(shí)現(xiàn)頁(yè)面reload的方法

    這篇文章主要介紹了在vue中使用[provide/inject]實(shí)現(xiàn)頁(yè)面reload的方法,文中給大家提到了在vue中實(shí)現(xiàn)頁(yè)面刷新不同的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • vue-element換膚所有主題色和基礎(chǔ)色均可實(shí)現(xiàn)自主配置

    vue-element換膚所有主題色和基礎(chǔ)色均可實(shí)現(xiàn)自主配置

    這篇文章主要介紹了vue-element換膚所有主題色和基礎(chǔ)色均可實(shí)現(xiàn)自主配置,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04

最新評(píng)論