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

vue對象的深度克隆方式

 更新時間:2022年09月08日 09:07:40   作者:久違°  
這篇文章主要介紹了vue對象的深度克隆方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

vue對象的深度克隆

方法1

通過js序列化,將js轉(zhuǎn)換成字符串,然后再將字符串轉(zhuǎn)換成js對象

var olbObj = {a:1};
var str = JSON.stringify(obj); //序列化對象
var newobj = JSON.parse(str); //還原
//相當于
var newObj = JSON.parse(JSON.stringify(olbObj ))

方法2

ES6語法對象展開運算符進行對象的展開賦值

var a = {a:0}
var b = {...a}

方法3

進行對象的遍歷復(fù)制,對 對象的每一條屬性進行復(fù)制,這樣就能進行對象的深度克隆

function newobj(obj) {
? var str, newobj = obj.constructor === Array ? [] : {};
? //constructor 屬性返回對創(chuàng)建此對象的數(shù)組函數(shù)的引用。創(chuàng)建相同類型的空數(shù)據(jù)
? if (typeof obj !== 'object') {
? ? return;
? } else {
? ? for (var i in obj) {
? ? ? if (typeof obj[i] === 'object'){//判斷對象的這條屬性是否為對象
? ? ? ? newobj[i] = newObj(obj[i]);//若是對象進行嵌套調(diào)用
? ? ? }else{
? ? ? ? newobj[i] = obj[i];
? ? ? }
? ? }
? }
? return newobj;//返回深度克隆后的對象
}

vue克隆對象時遇到的問題

我們知道 當我們需要深克隆一個對象 或者數(shù)組時 改變這個得到的數(shù)據(jù),原數(shù)據(jù)保持不變 比較簡單的用到的函數(shù)基本都是

let b = JSON.parse(JSON.stringify(a))

但是假如我們克隆一個vue響應(yīng)式對象時 發(fā)現(xiàn)用這個方法沒啥用

所以需要一個工具函數(shù)老深克隆

//深克隆?
export const deepClone = (source) => {
? var sourceCopy = source instanceof Array ? [] : {}
? for (var item in source) {
? ? sourceCopy[item] = typeof source[item] === 'object' ? deepClone(source[item]) : source[item]
? }
? return sourceCopy
}
let b = deepClone (a)

這樣就得到響應(yīng)式的啦

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

相關(guān)文章

  • vue限制輸入數(shù)字或者保留兩位小數(shù)實現(xiàn)

    vue限制輸入數(shù)字或者保留兩位小數(shù)實現(xiàn)

    這篇文章主要為大家介紹了vue限制輸入數(shù)字或者保留兩位小數(shù)實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • vue防止花括號{{}}閃爍v-text和v-html、v-cloak用法示例

    vue防止花括號{{}}閃爍v-text和v-html、v-cloak用法示例

    這篇文章主要介紹了vue防止花括號{{}}閃爍v-text和v-html、v-cloak用法,結(jié)合實例形式分析了vue.js使用v-text和v-html、v-cloak防止花括號{{}}閃爍的解決方法,需要的朋友可以參考下
    2019-03-03
  • vue-cli3項目升級到vue-cli4 的方法總結(jié)

    vue-cli3項目升級到vue-cli4 的方法總結(jié)

    這篇文章主要介紹了vue-cli3項目升級到vue-cli4 的方法總結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2020-03-03
  • vue下拉列表功能實例代碼

    vue下拉列表功能實例代碼

    這篇文章主要介紹了vue下拉列表功能實例代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-04-04
  • vue.js指令v-for使用及索引獲取

    vue.js指令v-for使用及索引獲取

    這篇文章主要為大家詳細介紹了vue.js中v-for使用及索引獲取,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • 為Vue3?組件標注?TS?類型實例詳解

    為Vue3?組件標注?TS?類型實例詳解

    這篇文章主要為大家介紹了為Vue3?組件標注?TS?類型實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • 使用開源Cesium+Vue實現(xiàn)傾斜攝影三維展示功能

    使用開源Cesium+Vue實現(xiàn)傾斜攝影三維展示功能

    這篇文章主要介紹了使用開源Cesium+Vue實現(xiàn)傾斜攝影三維展示,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • vue 自定義icon圖標的步驟

    vue 自定義icon圖標的步驟

    這篇文章主要介紹了vue 自定義icon的圖標的步驟,文中大概給大家分為兩步驟,通過實例圖文相結(jié)合給大家介紹的非常詳細,需要的朋友可以參考下
    2021-08-08
  • vue作用域插槽詳解、slot、v-slot、slot-scope

    vue作用域插槽詳解、slot、v-slot、slot-scope

    這篇文章主要介紹了vue作用域插槽詳解、slot、v-slot、slot-scope,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 簡述vue路由打開一個新的窗口的方法

    簡述vue路由打開一個新的窗口的方法

    這篇文章主要介紹了vue路由打開一個新的窗口的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11

最新評論