Základy reaktivity
API preference
Tato stránka a mnoho dalších kapitol dále v průvodci obsahuje různý obsah pro Options API a Composition API. Vaše aktuální preference je Composition API. Mezi API styly můžete přepínat pomocí přepínače "API preference" vlevo nahoře.
Deklarace reaktivního stavu
ref()
V rámci Composition API je doporučený způsob deklarace reaktivního stavu použitím funkce ref()
:
js
import { ref } from 'vue'
const count = ref(0)
ref()
přijímá vstupní parametr a vrací jej obalený uvnitř ref objektu s vlastností .value
:
js
const count = ref(0)
console.log(count) // { value: 0 }
console.log(count.value) // 0
count.value++
console.log(count.value) // 1
Viz také: Typování Refs
Chcete-li použít reaktivní stav v šabloně komponenty, deklarujte a vraťte jej z funkce setup()
v komponentě:
js
import { ref } from 'vue'
export default {
// `setup` je speciální hook určený pro Composition API.
setup() {
const count = ref(0)
// zpřístupnit stav pro šablonu komponenty
return {
count
}
}
}
template
<div>{{ count }}</div>
Všimněte si, že jsme nepotřebovali přidat .value
při použití ref v šabloně. Pro větší pohodlí jsou refs v šabloně automaticky rozbaleny (unwrapped) - s několika omezeními.
Můžete také měnit ref přímo v event handlerech:
template
<button @click="count++">
{{ count }}
</button>
Pro komplexnější logiku můžeme deklarovat funkce, které mění refs ve stejném scope, a vystavit je jako metody napříč stavem:
js
import { ref } from 'vue'
export default {
setup() {
const count = ref(0)
function increment() {
// v JavaScriptu je .value nutné
count.value++
}
// nezapomeňte funkce vystavit
return {
count,
increment
}
}
}
Vystavené funkce se obvykle používají jako event listenery:
template
<button @click="increment">
{{ count }}
</button>
Tady je živá ukázka na Codepen, bez použití build nástrojů.