麻豆黑色丝袜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
主站蜘蛛池模板: 午夜视频在线观看国产| 在线免费三级| 久热精品在线| 欧美人与动人物乱大交| 三级一级片| 强行扒开双腿猛烈进入| 51神马午夜| 公啊灬啊灬啊灬快灬深用| 操女人电影| 日本黄色电影在线| 欧美黑人xxxx性高清版| 干b视频| 女人18岁毛片| 天天舔天天操天天干| 国产午夜精品一区二区三区不卡 | 成人免费观看高清在线毛片| 好猛好能干h| 精品国产成a人在线观看| 波多野结衣在线一区二区| 99视频免费观看| 一区二区三区中文字幕| 国产理论片在线观看| 经典三级完整版电影在线观看| 全彩本子acg里番本子| 一线在线观看全集免费高清中文| 日韩欧美一及在线播放| 试看120秒做受小视频免费| 久草香蕉视频| 草草浮力影视| jealousvue成熟50maoff老狼| 国产福利1000| 国产精品国产三级国产普通话a| 把极品白丝班长啪到腿软| 美女扒开内裤羞羞网站| 日日涩| igao视频网站| 北条麻妃毛片在线视频| 精品国产污污免费网站入口| 麻豆福利视频| 最近免费最新高清中文字幕韩国| 欧美国产日本高清不卡|