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

vue3中的ref和reactive定義數組方式

 更新時間:2023年10月08日 15:08:14   作者:不悔0.0  
這篇文章主要介紹了vue3中的ref和reactive定義數組方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

vue3的ref和reactive定義數組

在vue3中,定義響應式數據一般有兩種方式:

  • ref 
  • reactive

一般來說,我們使用 ref 來定義基本數據類型,使用 reactive 來定義復雜數據類型

但是也可以使用 ref 來定義數組

1、ref 定義數組

import { ref } from 'vue'
const arr = ref([])

兩種情況:

  • 定義時就將數組初始化
  • 定義時未初始化數組

初始化數組

import { ref,watch } from 'vue'
const arr = ref([1,2,3])
watch(arr.value, () => { //這個時候通過直接修改和利用數組的方法修改都可以監(jiān)測到
  console.log('數組變化了')
})
const pushArray = () => {
  emptyArray.value.splice(0, 0, 19)
}
const changeArrayItem = () => {
  emptyArray.value[0] = 10
}

未初始化數組

import { ref,watch,onMounted } from 'vue'
const arr = ref([])
watch( //這個時候不能用.value且必須是深度監(jiān)聽,這種寫法不僅可以監(jiān)聽數組本身的變化,也可以監(jiān)聽 數組元素的變化
  arr,
  () => {
    console.log('空數組變化了')
  },
  {
    deep: true
  }
)
const pushArray = () => {
  arr.value.splice(0, 0, { value: 12 })
}
const changeArrayItem = () => {
  arr.value[0] = { value: 32 }
}
onMounted(() => {
  arr.value = [{ value: 5 }, { value: 2 }, { value: 3 }, { value: 4 }]
})

2、reactive 定義數組 

import { reactive } from 'vue';
let arr = reactive([])
function change(){
   let newArr = [1,2,3]
   arr = newArr
}

但是這樣定義的會出現問題,arr = newArr 這一步使得 arr 失去了響應式的效果

解決方法

可以使用 ref 定義、使用 push 方法、數組外層嵌套一個對象

import { reactive,ref } from 'vue';
let arr = reactive([])
function change(){
   let newArr = [1,2,3]
   arr = newArr
}
// 方法一:使用 ref
let arr = ref([])
function change(){
   let newArr = [1,2,3]
   arr.value = newArr
}
// 方法二:使用push 方法
let arr = reactive([])
function change(){
   let newArr = [1,2,3]
   arr.push(...newArr)
}
// 方法三:外層嵌套一個對象
let arr = reactive({list:[]})
function change(){
   let newArr = [1,2,3]
   arr.list = newArr
}

總結

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

相關文章

  • Vue3實現vueFLow流程組件的詳細指南

    Vue3實現vueFLow流程組件的詳細指南

    VueFlow是一個專門為Vue.js框架設計的交互式可視化庫,它允許開發(fā)者輕松創(chuàng)建和管理復雜的圖形模型,如流程圖、狀態(tài)機、組織結構圖等,本文給大家介紹了Vue3實現vueFLow流程組件的詳細指南,需要的朋友可以參考下
    2024-11-11
  • Vue開發(fā)中Jwt的使用詳解

    Vue開發(fā)中Jwt的使用詳解

    Vue中使用JWT進行身份認證也是一種常見的方式,它能夠更好地保護用戶的信息,本文主要介紹了Vue開發(fā)中Jwt的使用詳解,具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • Vue中computed和watch有哪些區(qū)別

    Vue中computed和watch有哪些區(qū)別

    這篇文章主要介紹了Vue中computed和watch有哪些區(qū)別,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2020-12-12
  • vue.js中實現登錄控制的方法示例

    vue.js中實現登錄控制的方法示例

    這篇文章主要介紹了vue.js中實現登錄控制的方法,結合實例形式分析 vue.js操作登陸頁面流程控制相關實現技巧,需要的朋友可以參考下
    2018-04-04
  • vite+element-plus項目基礎搭建的全過程

    vite+element-plus項目基礎搭建的全過程

    最近看完Vue3和Vite文檔之后,就寫了個小demo,整體感覺下來還是很絲滑的,下面這篇文章主要給大家介紹了關于vite+element-plus項目基礎搭建的全過程,需要的朋友可以參考下
    2022-07-07
  • Vue實現Tab標簽路由效果并用Animate.css做轉場動畫效果的代碼

    Vue實現Tab標簽路由效果并用Animate.css做轉場動畫效果的代碼

    這篇文章主要介紹了Vue實現Tab標簽路由效果,并用Animate.css做轉場動畫效果,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Vue使用js-audio-recorder實現錄制,播放與下載音頻功能

    Vue使用js-audio-recorder實現錄制,播放與下載音頻功能

    這篇文章主要為大家詳細介紹了Vue如何使用js-audio-recorder實現錄制,播放與下載音頻功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下
    2023-12-12
  • 在Uni中使用Vue的EventBus總線機制操作

    在Uni中使用Vue的EventBus總線機制操作

    這篇文章主要介紹了在Uni中使用Vue的EventBus總線機制操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Vue3.0之引入Element-plus ui樣式的兩種方法

    Vue3.0之引入Element-plus ui樣式的兩種方法

    本文主要介紹了Vue3.0之引入Element-plus ui樣式的兩種方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • vue3 ts打包失敗ts類型校驗未通過導致打包失敗的解決方案

    vue3 ts打包失敗ts類型校驗未通過導致打包失敗的解決方案

    這篇文章主要介紹了vue3 ts打包失敗ts類型校驗未通過導致打包失敗的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-06-06

最新評論

金沙县| 当雄县| 保亭| 屯昌县| 永善县| 仙桃市| 铜梁县| 杂多县| 永德县| 志丹县| 定安县| 中牟县| 本溪| 河间市| 类乌齐县| 龙山县| 吴川市| 西华县| 靖安县| 泰宁县| 彩票| 永修县| 华坪县| 新晃| 普格县| 益阳市| 东辽县| 龙江县| 九江市| 鞍山市| 收藏| 闻喜县| 阳原县| 独山县| 雅江县| 武宣县| 宁南县| 克什克腾旗| 博客| 江西省| 兴和县|