国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

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

手機站
千鋒教育

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

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

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

當前位置:首頁  >  技術干貨  > 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