1. 自定义组件间也可以和普通标签(<div> <span>)一样指定属性传参
2. 形如(<child value="hello coolight"></child>)给组件<child>指定value属性为"hello coolight"
3. 我们也可以自己模拟v-model的效果
下面我们来聊聊怎么传参、接收与更新
目录
传参,v-bind
- 子组件接收参数需要使用一个函数defineProps()
- defineProps():
- 不需要import导入即可使用
- 只能在<script setup>中使用
- 不可以在局部变量中使用这个函数
- 不可以访问 <script setup> 中定义的其他变量
- 需要传入自定义参数名,[可选]指定参数类型,[可选]指定参数是否必须传入,[可选]指定参数的默认值。
- 类型:
- Number
- Boolean
- String
- Function
- Object
- Array
- ...
- 类型:
- 返回组件的接收所有参数构成的一个对象
- 当类型不对或是指定必须传入而没有传入时,vue将会有警告,报错
- 必须传入但没有传入:
- -
- 传入类型错误:
- 示例:
- 组件:
<script setup>
import { toRefs } from 'vue';
const props = defineProps({
text:{
type:String,
default:"默认:hello coolight",
required:false
}
})
const {
text,
} = toRefs(props);
</script>
<template>
<span>{{props.text}} - {{text}}</span>
</template>
- -
- 使用组件
<script setup>
import helloVue from '../../components/global/hello.vue';
</script>
<template>
<div>
<hello-vue />
<hello-vue text="洛天依"/>
<hello-vue :text="'v-bind:洛天依'" />
</div>
</template>
- 解析:
- 组件定义了一个要接收的参数text,并指定了它的类型为字符串String,默认值,并且它并不是必须传入的。
- 组件的<template>中,可以通过props访问参数props.text,也可以使用toRefs,解构出来。
- toRefs()需要import
- 如果不使用toRefs(),直接解构将导致参数失去响应性
- 在使用组件时,可以直接指定参数并传参,也可以使用v-bind,动态传参。
- 运行结果:
v-model
一般的传参进来,组件对它是只读的,不能修改。
只读也并不完全,对于数组和对象是可以操作其内部值的。
但我们可以使用v-model指定参数,使之允许组件来修改它。
”只读“的探讨
- 这个只读限制和const声明一样。
- 只读是针对变量本身的指向,如果你了解c/c++的指针则会很好理解,它限制了变量的指向,但对于变量指向的内容是可以操作的。
- 比如对数组、对象的内部变量的操作则是可以的,但不能让变量指向别的数组或对象,如 list = [],就是直接让list变量重新指向新的空数组[]。
- 示例:
- 组件:
<script setup>
import { reactive } from 'vue';
import { toRefs } from 'vue';
const props = defineProps({
obj:{
type:Object
}
})
const {
obj,
} = toRefs(props);
const btn1_click = () => {
props.obj.hello = "coolight - 1";
}
const btn2_click = () => {
props.obj = reactive({
hello:"coolight - 2"
})
}
</script>
<template>
<div>
<button @click="btn1_click">1: {{obj.hello}}</button>
<button @click="btn2_click">2: {{obj.hello}}</button>
</div>
</template>
- -
- 使用组件:
<script setup>
import { reactive } from 'vue';
import helloVue from '../../../components/global/hello.vue';
let obj = reactive({
hello:"洛天依"
})
</script>
<template>
<div>
<span>span: {{obj.hello}}</span>
<hello-vue :obj="obj" />
</div>
</template>
- 注意:
- 在使用组件的代码中,obj被使用reactive()进行赋值,因此获得了响应性,如果直接定义为一个对象,obj就没有响应性,后续无论在父子组件中修改obj,html页面的显示内容都不会改变。
- 运行结果:
- 点击btn2时修改失败,触发警告,提示变量obj是只读的:
使用v-model
- 使用v-model则可以解决上述问题
- 在这之前,组件内需要定义一个更新信号,“update:valueName”,其中的valueName为参数名
- 我们上面的例子里的参数是obj,因此信号就是 “update:obj”
- 使用defineEmits()可以定义信号,而它也是我们后面自定义事件的重点。
- 发出修改信号 emits("信号名", 传参);
- 示例:
- 组件:
<script setup>
import { toRefs } from 'vue';
const props = defineProps({
obj:{
type:Object
}
})
const emits = defineEmits ({
'update:obj':null //null位置可以是一个检查函数,用以检查绑定这个信号的处理函数是否有接收参数等,这里就不需要了
});
const {
obj,
} = toRefs(props);
const btn1_click = () => {
props.obj.hello = "btn1";
}
const btn2_click = () => {
emits('update:obj', {
hello:"btn2"
});
}
</script>
<template>
<div>
<button @click="btn1_click">{{obj.hello}} - 修改为 btn1</button>
<button @click="btn2_click">{{obj.hello}} - 修改为 btn2</button>
</div>
</template>
- -
- 使用组件:
<script setup>
import { reactive } from 'vue';
import helloVue from '../../../components/global/hello.vue';
let mValue = reactive({
obj:{
hello:"洛天依"
},
})
</script>
<template>
<div>
<span>span: {{mValue.obj.hello}}</span>
<hello-vue v-model:obj="mValue.obj"/>
</div>
</template>
- 注意:
- 即使使用了v-model,我们也不能直接在组件中用=修改obj(如obj = { hello:"wow" } 是不行的)
- 需要修改obj时,使用emits()发出信号即可
- 注意在使用组件的代码中,我们使用mValue包裹了obj后再传递给了子组件,因为如果同上一个例子中,直接声明obj后传递,在修改时会发生一些问题。因此建议把它放reactive()内。
- 运行结果:
尝试取代v-model
- 在上面的例子里,我们已经知道,修改obj时是发出了一个信号"update:obj"
- 那么我们就可以自己绑定一个事件给这个信号,然后自己来更新obj
- 示例(组件代码不变,使用组件的代码修改):
<script setup>
import { reactive } from 'vue';
import helloVue from '../../../components/global/hello.vue';
let mValue = reactive({
obj:{
hello:"洛天依"
},
})
const change = (in_obj) => {
console.log("我们的change");
mValue.obj = in_obj;
}
</script>
<template>
<div>
<span>span: {{mValue.obj.hello}}</span>
<!-- 也可以这样:
<hello-vue v-model:obj="mValue.obj" @update:obj="change"/>
-->
<hello-vue :obj="mValue.obj" @update:obj="change"/>
</div>
</template>
- 当我们自己实现更新事件时,使用v-model和v-bind绑定是一样的
- 运行后,无论使用了v-model还是v-bind,都会执行我们的更新事件change()
- 有时候我们传进去的值是getter生成的等各种原因,直接v-model绑定在修改时会出错,因此我们就需要自己实现变量的更新事件。
Howdy! This blog post couldn’t be written any better! Looking through this post reminds me of my previous roommate! He continually kept preaching about this. I most certainly will send this post to him. Pretty sure he will have a very good read. Thank you for sharing!
Тут можно преобрести оружейный шкаф купить москва сейф шкаф купить
This is highly enlightening. I truly appreciated reading it. The details is extremely arranged and straightforward to understand.
http://indianpharmacyeasy.com/# indian pharmacy
https://mexicanpharmgate.com/# purple pharmacy mexico price list
https://canadiandrugsgate.com/# cheap erectile dysfunction pills
100mg viagra without a doctor prescription canadiandrugsgate best ed pills online
Hi, I do believe this is an excellent web site. I stumbledupon it 😉 I am going to return once again since i have book marked it. Money and freedom is the greatest way to change, may you be rich and continue to guide other people.
https://indianpharmacyeasy.com/# reputable indian pharmacies
Тут можно преобрести купить сейф под карабин сейф сейфы оружейный оружие
Тут можно преобрести сейфы огнестойкие сейф огнеупорный купить
https://mexicanpharmgate.com/# medication from mexico pharmacy
Terrific article. It’s extremely clear and filled with beneficial details. Many thanks for offering this post.
http://canadiandrugsgate.com/# sildenafil without a doctor’s prescription
Зал проведения банкета
Judul: Mengalami Pengalaman Bermain dengan “PG Slot” di Situs Perjudian ImgToon.com
Dalam dunia permainan kasino online, slot telah menyusun salah satu permainan yang paling diminati, terutama jenis PG Slot. Di antara beberapa situs kasino online, ImgToon.com merupakan tujuan utama bagi pengguna yang ingin mencoba keberuntungan mereka di berbagai permainan slot, termasuk beberapa kategori terfavorit seperti demo pg slot, pg slot gacor, dan RTP slot.
Demo PG Slot: Memulai Tanpa adanya Risiko
Salah satu keistimewaan menarik yang ditawarkan oleh ImgToon.com adalah demo pg slot. Fungsi ini memberikan pemain untuk mencoba berbagai jenis slot dari PG tanpa harus memasang taruhan nyata. Dalam mode demo ini, Anda dapat menguji berbagai strategi dan memahami proses permainan tanpa risiko kehilangan uang. Ini adalah metode terbaik bagi pemula untuk mengenal dengan permainan slot sebelum berpindah ke mode taruhan sebenarnya.
Mode demo ini juga menyediakan Anda gambaran tentang potensi kemenangan dan hadiah yang mungkin bisa Anda peroleh saat bermain dengan uang sebenarnya. Pemain dapat menyusuri permainan tanpa ragu, membuat pengalaman bermain di PG Slot semakin mengasyikkan dan bebas stres.
PG Slot Gacor: Kesempatan Besar Mendapatkan Kemenangan
PG Slot Gacor adalah kata terkemuka di kalangan pemain slot yang mengacu pada slot yang sedang dalam fase memberikan kemenangan tinggi atau lebih sering diistilahkan “gacor”. Di ImgToon.com, Anda dapat mencari berbagai slot yang masuk dalam kategori gacor ini. Slot ini terkenal memiliki peluang kemenangan lebih tinggi dan sering menghadiahkan bonus besar, menyebabkannya pilihan utama bagi para pemain yang ingin memperoleh keuntungan maksimal.
Namun, penting diingat bahwa “gacor” atau tidaknya sebuah slot dapat bergeser, karena permainan slot tergantung pada generator nomor acak (RNG). Dengan bermain secara rutin di ImgToon.com, Anda bisa menemukan pola atau waktu yang tepat untuk memainkan PG Slot Gacor dan memperbesar peluang Anda untuk menang.
RTP Slot: Faktor Krucial dalam Pemilihan Slot
Ketika membicarakan tentang slot, istilah RTP (Return to Player) adalah faktor yang sangat krusial untuk dihitung. RTP Slot mengacu pada persentase dari total taruhan yang akan dipulangkan kepada pemain dalam jangka panjang. Di ImgToon.com, setiap permainan PG Slot disertai dengan informasi RTP yang terang. Semakin tinggi persentase RTP, semakin besar peluang pemain untuk mendulang kembali sebagian besar dari taruhan mereka.
Dengan memilih PG Slot yang memiliki RTP tinggi, pemain dapat mengoptimalkan pengeluaran mereka dan memiliki peluang yang lebih baik untuk menang dalam jangka panjang. Ini menjadikan RTP sebagai indikator penting bagi pemain yang mencari keuntungan dalam permainan kasino online.
Тут можно преобрести сейфы для оружия москва сейф оружейный
Тут можно преобрести купить сейф противопожарный купить сейф огнестойкий в москве
You are so awesome! I do not suppose I’ve truly read a single thing like that before. So wonderful to find someone with a few genuine thoughts on this topic. Seriously.. thanks for starting this up. This site is one thing that is required on the internet, someone with a bit of originality.
новости Украины
7к
kamagra oral jelly: kampharm shop – kampharm shop
pg slot
Judul: Menikmati Pengalaman Memainkan dengan “PG Slot” di Situs Casino ImgToon.com
Dalam kehidupan permainan kasino online, mesin slot telah menyusun salah satu permainan yang paling disukai, terutama jenis PG Slot. Di antara beberapa situs kasino online, ImgToon.com menjadi tujuan utama bagi pemain yang ingin mencoba nasib mereka di berbagai permainan slot, termasuk beberapa kategori terfavorit seperti demo pg slot, pg slot gacor, dan RTP slot.
Demo PG Slot: Mencoba Bebas dari Risiko
Salah satu fitur menarik yang disediakan oleh ImgToon.com adalah demo pg slot. Fitur ini memungkinkan pemain untuk menguji berbagai jenis slot dari PG tanpa harus menempatkan taruhan sebenarnya. Dalam mode demo ini, Anda dapat menguji berbagai taktik dan memahami proses permainan tanpa ancaman kehilangan uang. Ini adalah langkah terbaik bagi pemula untuk terbiasa dengan permainan slot sebelum mengalihkan ke mode taruhan asli.
Mode demo ini juga memberi Anda pemahaman tentang potensi kemenangan dan imbalan yang mungkin bisa Anda terima saat bermain dengan uang asli. Pemain dapat menyusuri permainan tanpa ragu, menjadikan pengalaman bermain di PG Slot semakin menyenangkan dan bebas beban.
PG Slot Gacor: Prospek Besar Mendapatkan Kemenangan
PG Slot Gacor adalah sebutan populer di kalangan pemain slot yang menggunakan pada slot yang sedang dalam fase memberi kemenangan tinggi atau lebih sering diistilahkan “gacor”. Di ImgToon.com, Anda dapat mencari berbagai slot yang termasuk dalam kategori gacor ini. Slot ini terkenal memiliki peluang kemenangan lebih tinggi dan sering menghadiahkan bonus besar, menyebabkannya pilihan utama bagi para pemain yang ingin memperoleh keuntungan maksimal.
Namun, harus diingat bahwa “gacor” atau tidaknya sebuah slot dapat beralih, karena permainan slot tergantung generator nomor acak (RNG). Dengan melakukan permainan secara rutin di ImgToon.com, Anda bisa mengidentifikasi pola atau waktu yang tepat untuk memainkan PG Slot Gacor dan memperbesar peluang Anda untuk menang.
RTP Slot: Faktor Penting dalam Pemilahan Slot
Ketika berbicara tentang slot, istilah RTP (Return to Player) adalah faktor yang sangat penting untuk dipertimbangkan. RTP Slot merujuk pada persentase dari total taruhan yang akan dikembalikan kepada pemain dalam jangka panjang. Di ImgToon.com, setiap permainan PG Slot diberi dengan informasi RTP yang terang. Semakin tinggi persentase RTP, semakin besar peluang pemain untuk memperoleh kembali sebagian besar dari taruhan mereka.
Dengan memilih PG Slot yang memiliki RTP tinggi, pemain dapat memaksimalkan pengeluaran mereka dan memiliki peluang yang lebih baik untuk menang dalam jangka panjang. Ini membuat RTP sebagai indikator penting bagi pemain yang mencari keuntungan dalam permainan kasino online.
buy lasix fur pharm: buy furosemide online – furosemide fur pharm
Тут можно преобрести сейф жаростойкий купить сейф несгораемый
Сервисный центр предлагает замена корпуса samsung galaxy j8 2018 замена разъема питания samsung galaxy j8 2018
Botox Austin
fortune mouse gratis слот
играть в fortune mouse gratis
After I originally commented I seem to have clicked the -Notify me when new comments are added- checkbox and from now on whenever a comment is added I get four emails with the same comment. Perhaps there is a way you can remove me from that service? Thanks a lot.
Сервисный центр предлагает чистка системы охлаждения acer travelmate 8331 замена usb разъема acer travelmate 8331
buy furosemide online: furosemide furpharm.com – furosemide
ED meds online with insurance: erepharm pills – best ed pill ere pharm
Тут можно преобрести огнеупорный сейф несгораемый сейф купить
buy furosemide online buy furosemide online furosemide
ed pills ED pills non prescription ED pills non prescription
Genuinely appreciated perusing this article. It’s highly articulate and full of useful details. Many thanks for offering this.
I really appreciated reading this post. It’s so clear and full of useful details. Thanks for sharing this information.
Terrific entry. It’s highly articulate and full of useful information. Thanks for offering this content.
You have made some good points there. I looked on the internet for more info about the issue and found most people will go along with your views on this site.
CONSOB compliance check for crypto wallets
Overview of Digital Currency Deal Check and Conformity Options
In today’s crypto market, guaranteeing transfer openness and adherence with AML and Customer Identification rules is crucial. Below is an summary of popular sites that deliver services for crypto deal monitoring, check, and asset protection.
1. Tokenmetrics.com
Overview: Tokenmetrics delivers digital asset assessment to examine potential scam threats. This solution allows individuals to examine coins prior to investment to evade likely fraudulent resources. Attributes:
– Danger assessment.
– Perfect for buyers looking to steer clear of hazardous or fraud projects.
2. Metamask Center
Summary: Metamask.Monitory.Center permits individuals to review their crypto assets for suspicious activity and regulatory compliance. Features:
– Checks assets for legitimacy.
– Offers warnings about likely asset locks on specific platforms.
– Provides thorough reports after wallet linking.
3. Bestchange.com
Description: Best Change is a platform for observing and verifying crypto exchange transactions, ensuring clarity and transaction security. Highlights:
– Transfer and holding monitoring.
– Sanctions screening.
– Web-based platform; supports BTC and several different digital assets.
4. AML Bot
Overview: AMLCheck Bot is a holding tracker and compliance tool that utilizes artificial intelligence models to identify suspicious activity. Features:
– Deal observation and personal verification.
– Available via internet and Telegram.
– Compatible with cryptocurrencies like BSC, BTC, DOGE, and more.
5. AlfaBit
Overview: AlfaBit offers complete anti-money laundering solutions customized for the digital currency field, supporting businesses and banks in ensuring standard compliance. Highlights:
– Thorough anti-money laundering features and evaluations.
– Complies with modern protection and compliance standards.
6. Node AML
Overview: AMLNode provides compliance and customer identity solutions for crypto businesses, including deal observing, sanctions checks, and evaluation. Features:
– Danger analysis tools and compliance screenings.
– Valuable for maintaining protected business operations.
7. Btrace.io
Overview: Btrace AML Crypto is dedicated to fund validation, delivering deal tracking, sanctions evaluations, and help if you are a affected by fraud. Advantages:
– Useful help for resource recovery.
– Deal tracking and security options.
Specialized USDT Validation Services
Our platform also provides information on various services providing check services for USDT transactions and wallets:
– **USDT TRC20 and ERC20 Verification:** Many services support comprehensive screenings for USDT deals, assisting in the identification of suspicious transactions.
– **AML Validation for USDT:** Solutions are offered for tracking for suspicious activities.
– **“Cleanliness” Validation for Holdings:** Checking of transfer and wallet legitimacy is provided to detect likely dangers.
**Conclusion**
Finding the best tool for validating and observing crypto transfers is essential for guaranteeing safety and standard compliance. By reading our evaluations, you can find the most suitable service for transfer monitoring and fund protection.
https://kampharm.shop/# kampharm.shop
https://komarovskiy.net/raznoe/allergen-speczificheskaya-immunoterapiya-effektivnyj-metod-lecheniya-allergii/
fortune mouse gratis на деньги
fortune mouse gratis бесплатно
fortune mouse gratis на деньги
fortune mouse gratis бесплатно
kamagra: kam pharm shop – kamagra oral jelly
https://furpharm.com/# furosemide
The next time I read a blog, I hope that it won’t fail me just as much as this particular one. I mean, Yes, it was my choice to read, however I really believed you would probably have something helpful to talk about. All I hear is a bunch of moaning about something that you can fix if you weren’t too busy searching for attention.
GabaPharm: buy gabapentin – buy gabapentin online
https://kampharm.shop/# buy kamagra oral jelly Kam Pharm
Тут можно преобрести огнеупорный сейф сейфы от пожара