响应式数据是vue的一大亮点,下面我们来聊聊如何声明响应式数据
目录
直接声明变量
- 直接声明变量并不能使之拥有响应性
- 示例:
<script setup>
let num = 0;
const clickFun = () => {
console.log("num:", ++num);
}
</script>
<template>
<div style="display:flex;flex-direction: column;">
<span>num : {{num}}</span>
<button @click="clickFun()">修改</button>
</div>
</template>
- 运行结果:
- 多次点击按钮后,控制台打印的num值虽然有增加,但在html页面显示的num值却不变
ref(基本数据类型)
- 使用ref(基本数据类型)即可把一个基本数据类型的值转化为响应式并返回
- 基本数据类型:
- String
- Number
- BigInt
- Boolean
- Symbol
- Undefined
- Null
- 示例:
<script setup>
import { ref } from 'vue';
let num = 0;
let refNum = ref(0);
console.log("refNum:", refNum);
console.log("refNum.value", refNum.value);
const clickFun = () => {
console.log("num:", ++num);
console.log("refNum.value:" , ++refNum.value);
}
</script>
<template>
<div style="display:flex;flex-direction: column;">
<span>num : {{num}}</span>
<span>refNum : {{refNum}}</span>
<button @click="clickFun()">修改</button>
</div>
</template>
- 运行结果:
- 注意ref()返回的是一个refImpl的对象,它的value属性才是我们要的数据,所以在js中操作时需要.value,但在<template>中会自动展开为内部值
- 可以看到,通过ref()获取的变量是响应式的,会随着变量值的改变而体现在html页面中
reactive(对象)
- reactive()需要我们传入一个对象
- 示例:
<script setup>
import { ref,reactive } from 'vue';
let num = 0;
let refNum = ref(0);
let rea = reactive({
num:0
});
console.log("refNum:", refNum);
console.log("refNum.value", refNum.value);
console.log("rea", rea);
const clickFun = () => {
console.log("num:", ++num);
console.log("refNum.value:" , ++refNum.value);
console.log("rea.num:", ++rea.num);
}
</script>
<template>
<div style="display:flex;flex-direction: column;">
<span>num : {{num}}</span>
<span>refNum : {{refNum}}</span>
<span>rea.num : {{rea.num}}</span>
<button @click="clickFun()">修改</button>
</div>
</template>
- 运行结果:
- reactive()也可以让变量得到响应性
- 但它需要传入对象,而ref()需要传入基本数据类型
- 而且它返回的是一个proxy对象,但我们在js操作和在<template>绑定时,都可以直接访问和操作其内部变量。
online pharmacy 365 pills
lisinopril 40mg
https://cytotec.club/# buy cytotec over the counter
online pharmacy com
cost of propecia no prescription get propecia cost of generic propecia tablets
40 mg prednisone daily
buy prednisone mexico
20 mg lisinopril tablets: zestril 10 – lisinopril 5 mg price in india
В нашем мире, где диплом – это начало успешной карьеры в любой отрасли, многие ищут максимально простой путь получения образования. Необходимость наличия официального документа об образовании переоценить невозможно. Ведь диплом открывает дверь перед любым человеком, который хочет вступить в сообщество профессиональных специалистов или продолжить обучение в каком-либо институте.
Наша компания предлагает очень быстро получить этот важный документ. Вы сможете заказать диплом, что будет удачным решением для всех, кто не смог завершить образование, потерял документ или желает исправить свои оценки. дипломы производятся аккуратно, с максимальным вниманием к мельчайшим нюансам, чтобы в результате получился продукт, полностью соответствующий оригиналу.
Превосходство такого подхода состоит не только в том, что вы оперативно получите свой диплом. Весь процесс организован комфортно и легко, с профессиональной поддержкой. Начав от выбора необходимого образца документа до точного заполнения личной информации и доставки по стране — все будет находиться под полным контролем наших мастеров.
В итоге, для тех, кто пытается найти быстрый способ получения необходимого документа, наша компания может предложить выгодное решение. Купить диплом – значит избежать длительного обучения и сразу перейти к достижению собственных целей, будь то поступление в университет или старт карьеры.
https://diplomanc-russia24.com
cipro for sale buy generic ciprofloxacin ciprofloxacin order online
40 mcg prednisone
online pharmacy birth control pills
https://nolvadex.life/# alternative to tamoxifen
cost of metformin 1000 mg
online pharmacy delivery delhi