當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Vue.js computed()用法及代碼示例

接受一個 getter 函數並為 getter 的返回值返回一個隻讀的反應式 ref 對象。它還可以使用帶有getset 函數的對象來創建可寫的引用對象。

類型

// read-only
function computed<T>(
  getter: () => T,
  // see "Computed Debugging" link below
  debuggerOptions?: DebuggerOptions
): Readonly<Ref<Readonly<T>>>

// writable
function computed<T>(
  options: {
    get: () => T
    set: (value: T) => void
  },
  debuggerOptions?: DebuggerOptions
): Ref<T>

示例

創建一個隻讀的計算參考:

const count = ref(1)
const plusOne = computed(() => count.value + 1)

console.log(plusOne.value) // 2

plusOne.value++ // error

創建一個可寫的計算參考:

const count = ref(1)
const plusOne = computed({
  get: () => count.value + 1,
  set: (val) => {
    count.value = val - 1
  }
})

plusOne.value = 1
console.log(count.value) // 0

調試:

const plusOne = computed(() => count.value + 1, {
  onTrack(e) {
    debugger
  },
  onTrigger(e) {
    debugger
  }
})

相關用法


注:本文由純淨天空篩選整理自vuejs.org大神的英文原創作品 computed()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。