麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > Vue3計算屬性傳參用法介紹

Vue3計算屬性傳參用法介紹

來源:千鋒教育
發布人:xqq
時間: 2023-11-23 15:32:03 1700724723

一、計算屬性傳參概述

計算屬性是vue中一種非常有用的數據處理方式,能夠根據自身的依賴動態計算出新值。在vue3中,計算屬性的用法相比于vue2有所變化,可以通過函數形式傳參來實現更靈活的數據處理。

二、計算屬性傳遞參數的方法

在vue2中,計算屬性的定義方式如下:


computed: {
  fullName: function () {
    return this.firstName + ' ' + this.lastName
  }
}

在vue3中,我們可以使用一個函數來聲明計算屬性,并且可以在函數內傳遞參數:


setup() {
  const firstName = ref('Jane')
  const lastName = ref('Doe')

  const fullName = computed(() => {
    return firstName.value + ' ' + lastName.value
  })

  return {
    firstName,
    lastName,
    fullName
  }
}

以上代碼中,我們使用了函數式的方式定義了計算屬性fullName,并使用了firstName和lastName兩個ref數據作為fullName的參數,在函數內通過value來獲取這兩個參數的值。

三、動態修改計算屬性參數

在vue3中,我們可以通過watchEffect和watch來監聽計算屬性參數的變化,并在變化時重新計算計算屬性的值。下面是一個例子,我們通過input輸入框來動態修改firstName參數:


setup() {
  const firstName = ref('Jane')
  const lastName = ref('Doe')
  const inputRef = ref(null)

  const fullName = computed(() => {
    return firstName.value + ' ' + lastName.value
  })

  watchEffect(() => {
    console.log(fullName.value)
  })

  function updateFirstName() {
    firstName.value = inputRef.value.value
  }

  return {
    firstName,
    lastName,
    fullName,
    inputRef,
    updateFirstName
  }
}

以上代碼中,我們通過watchEffect監聽fullName的變化,并在控制臺輸出其值。我們還定義了一個updateFirstName函數,在input框輸入新的firstName后觸發該函數來更新firstName的值。這樣,在firstName參數改變后,計算屬性fullName會被自動重新計算。

四、計算屬性傳遞多個參數

在vue3中,我們可以通過使用對象或數組的形式來傳遞多個參數。以下是一個接收對象形式參數的計算屬性:


setup() {
  const firstName = ref('Jane')
  const lastName = ref('Doe')
  const info = ref({
    age: 25,
    gender: 'female'
  })

  const fullNameWithInfo = computed(() => {
    return firstName.value + ' ' + lastName.value + ', ' + info.value.age + ', ' + info.value.gender
  })

  return {
    firstName,
    lastName,
    info,
    fullNameWithInfo
  }
}

以下是一個接收數組形式參數的計算屬性:


setup() {
  const scores = ref([75, 80, 90])

  const totalScore = computed(() => {
    return scores.value.reduce((total, score) => total + score)
  })

  const averageScore = computed(() => {
    return totalScore.value / scores.value.length
  })

  return {
    scores,
    totalScore,
    averageScore
  }
}

以上代碼中,我們定義了一個接收對象參數的計算屬性fullNameWithInfo,其中參數info是一個ref對象;我們還定義了一個接收數組參數的計算屬性averageScore,其中參數scores是一個ref數組。

五、結語

通過本文的介紹,我們可以看到vue3中計算屬性傳參的一些常用方法,包括傳遞單個參數、動態修改參數、傳遞多個參數等。這些方法能夠讓我們更靈活地處理數據,并更好地實現組件的復用。

tags: vscode斷點
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 大学生美女特级毛片| 国语对白91| 免费无遮挡肉动漫在线观看| 国产一区二区高清| 在线观看高嫁肉柳1一4集中文| 国产在线精品一区二区中文| 国产剧情丝袜在线观看| 卡一卡2卡3高清乱码网| 国产三级在线观看a| 日本三级午夜理伦三级三 | 日本精品啪啪一区二区三区 | 午夜精品久久久久久| 欧美区日韩区| 亚洲乱码一区二区三区在线观看| 亚洲最大成人网色| 久久久久久久综合狠狠综合| 好男人在线社区www| www..com色| 91麻豆国产自产| 国产国产成人精品久久| 印度精品性hd高清| 试看120秒做受小视频免费| 从镜子里看我怎么c你| 国产精品无码久久av| 黄色搞基网站| 国产成人精品999在线观看| 国产自在线观看| 欧美激情第1页| 成人动漫视频在线| 女人18岁毛片| 欧美国产日韩久久mv| 无翼乌全彩无遮挡动漫视频| 国产欧美一区二区三区观看| 久久99久久99精品| 调教在线观看| 18观看免费永久视频| 又爽又黄又无遮挡的视频在线观看| 2020夜夜操| 亚洲欧美视频一区| 新梅瓶4在线观看dvd| 性美国xxxxx免费|