Vue - toValue

Himmelbleu發表於2024-08-13

作用

將值、refs 或 getters 規範化為值。這與 unref() 類似,不同的是此函式也會規範化 getter 函式。如果引數是一個 getter,它將會被呼叫並且返回它的返回值。

簡單來說,toValue 函式的目的是將傳入的值規範化為一個普通的值,不管傳入的是普通值、ref 物件,還是一個返回值的 getter 函式。它會自動識別你傳入的是什麼,並且始終返回對應的值。

  • 普通值:直接返回這個值。
  • ref 物件:返回 ref.value
  • getter 函式:呼叫這個函式,並返回其結果。
toValue(1)          // 返回 1,因為傳入的是普通值
toValue(ref(1))     // 返回 1,因為傳入的是 `ref` 物件,它的 `.value` 是 1
toValue(() => 1)    // 返回 1,因為傳入的是一個返回 1 的函式,函式被呼叫並返回 1

應用

toValue 的主要作用是在處理未知型別輸入時統一行為。比如,你編寫一個可以處理各種輸入型別的函式,無論是值、ref,還是 getter,你都希望得到一個最終的值,而不需要關心輸入的具體型別。這時 toValue 就派上用場了。

相關文章