Condivisione della tecnologia

Ref reattivo() e reattivo()

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


riferimento()

  • effetto: definire le variabili reattive.

  • grammatica:let xxx=ref(valore iniziale).

  • valore di ritorno: un oggetto istanza di RefImpl, denominato oggetto ref o ref. L'attributo value dell'oggetto ref è reattivo.

  • stai attento

    1. I dati operativi in ​​JS richiedono: xxx.value, ma .value non è richiesto nel modello, basta usarlo direttamente.
    2. Per let name =ref('Zhang San'), name non è reattivo, name.value è reattivo.

reattivo()

  • effetto: Definisci oggetti reattivi (non usarlo per i tipi base, usa ref, altrimenti verrà segnalato un errore).

  • grammatica:let oggetto reattivo = reattivo (oggetto sorgente).

  • valore di ritorno: un oggetto istanza di Proxy, denominato oggetto reattivo.

  • stai attento: i dati reattivi definiti da reactive sono "profondi".

rif vs reattivo

  • Dal punto di vista macro:
    1. ref viene utilizzato per definire: dati di tipo base, dati di tipo oggetto;
    2. reattivo viene utilizzato per definire: tipo di oggetto dati.
  • la differenza:
    1. Le variabili create da ref devono utilizzare valore (è possibile utilizzare il plug-in volar per aggiungere automaticamente valore).
    2. Reactive riassegna un nuovo oggetto e perderà la reattività (puoi utilizzare 0object.assign per sostituirlo nel suo insieme).
  • Principi d'uso:
    1. Se hai bisogno di un tipo base di dati reattivi, devi utilizzare rif.
    2. Se hai bisogno di un oggetto reattivo, la gerarchia non è profonda, è possibile utilizzare ref o reactive.
    3. Se hai bisogno di un oggetto reattivo con una gerarchia profonda, ti consigliamo di utilizzare reactive.

toRefs e toRef

effetto: converte ogni attributo in un oggetto reattivo in un oggetto ref.
Osservazione: toRefs ha la stessa funzione di toRef, ma toRefs può essere convertito in batch.
La sintassi è la seguente:

import {reactive,toRefs,toRef} from
// 数据
let person = reactive({
	name:'张三
	age:18
})
let {name,age} = toRefs(person)
let nl = toRef(person,'age')