Compartilhamento de tecnologia

Ref reativa() e reativa()

2024-07-08

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


referência()

  • efeito: Defina variáveis ​​responsivas.

  • gramática:deixe xxx=ref(valor inicial).

  • valor de retorno: Um objeto de instância de RefImpl, referido como objeto ref ou ref. O atributo de valor do objeto ref é responsivo.

  • tome cuidado

    1. Os dados de operação em JS requerem: xxx.value, mas .value não é obrigatório no modelo, basta usá-lo diretamente.
    2. Para let name =ref('Zhang San'), name não responde, name.value responde.

reativo()

  • efeito: Defina objetos responsivos (não use para tipos básicos, use ref, caso contrário um erro será relatado).

  • gramática:deixe objeto responsivo = reativo (objeto de origem).

  • valor de retorno: um objeto de instância do Proxy, conhecido como objeto responsivo.

  • tome cuidado: os dados responsivos definidos por reativos são "profundos".

ref vs reativo

  • De uma perspectiva macro:
    1. ref é usado para definir: dados de tipo básico, dados de tipo de objeto;
    2. reativo é usado para definir: dados do tipo de objeto.
  • a diferença:
    1. Variáveis ​​criadas por ref devem usar valor (você pode usar o plug-in volar para adicionar valor automaticamente).
    2. Reativo reatribui um novo objeto e perderá a capacidade de resposta (você pode usar 0object.assign para substituí-lo como um todo).
  • Princípios de uso:
    1. Se você precisar de um tipo básico de dados responsivos, deverá usar ref.
    2. Se você precisar de um objeto responsivo, a hierarquia não é profunda, tanto ref quanto reactive podem ser usados.
    3. Se você precisar de um objeto responsivo com uma hierarquia profunda, é recomendado usar o reativo.

toRefs e toRef

efeito: Converta cada atributo em um objeto responsivo em um objeto ref.
Observação: toRefs tem a mesma função que toRef, mas toRefs pode ser convertido em lotes.
A sintaxe é a seguinte:

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