当前位置:网站首页>Composition API premise
Composition API premise
2022-07-07 07:10:00 【To be a woman of light】
One 、setup Use of
1. In order to start using Coposition API, We need one that can actually use it ( Where to write code );
2. stay Vue In the component , This position is setup function ;
Two 、setup Understanding of
setup In fact, it is another option of the component :
But this option is so powerful that we can use it to replace most of the other options abbreviated before ;
such as methods、computed、watch、data、 Life cycle and so on .
3、 ... and 、setup Use of functions ( Pay attention to setup There is no binding inside this Of )
- First of all, we have to understand setup Which parameters of the function ?
A: It has two main parameters :
The first parameter :props ( Properties passed by the parent component )
The second parameter :context: It contains three attributes
attrs: All the non props Of attribute;
slots: Slot passed from parent component ( This will work when returned as a render function )
emit: When we need to send events inside the component, we will use emit( Because we can't access this, So you can't pass this.$emit Send out an event )
export default {
props:{
message:{
type:String,
required:true
}
},
// Parameters 1:props, Properties passed by the parent component
// Parameters 2:
// The way 1:
// setup(props,context){
// console.log(props.message); // Parameters 1
// console.log(context.attrs.id)
// }
//
// The way 2: Yes context Make a deconstruction
setup(props,{attrs,slots,emit}){
console.log(props.message); // Parameters 1
console.log(attrs.id);
console.log(slots);
console.log(emit);
}2.setup What kind of return value does the function have
setup The return value can be in the template template Is used in ;
That is to say, we can pass setup Instead of data Options ;
setup(){
let counter=100;
//1. stay setup It defines a local function
const increat=()=>{
counter++
console.log(counter);
}
return{
counter,
increat //2. Return this function
}
}
Four 、setup Not available this
- The meaning of the expression is this Does not point to the current component instance ;
- also stay setup Before being called ,data、computed、methods And so on have not been resolved
- therefore Cannot be in setup In order to get this;
5、 ... and 、 How to read the source code :

6、 ... and 、 How to be in setup It makes the data responsive
(1)reactive API Help data to be responsive
<template>
<div id="app">
<!-- Data presentation -->
<span> Current count :{
{state.counter}}</span>
<button @click="increat"></button>
</div>
</template>
<script>
// 1.vue3 Provided reactive API Be responsive
import {reactive} from 'vue'
export default {
props:{
message:{
type:String,
required:true
}
},
setup(){
//2. Now use the responsive data reactive Make a package
const state=reactive({
counter:100;
})
//3. stay setup It defines a local function
const increat = ()=>{
state.counter++;
console.log(state.counter);
}
// Returned data
return {
state,
increat //2. Return this function
}
}
}
</script>(2)ref API
reative API Yes The types passed in are limited , It requires that our incoming must be An object or array type ;
If we pass in a Basic data type (String、Number、Boolean) There will be a warning ;
This is the time Vue3 It provides us with another API:ref API
- ref Will return a mutable responsive object , This object maintains its internal values as a responsive reference , This is it. ref The source of the name
- Its internal value is in ref Of value Maintained in the property ;
Here are two things to note :
stay Template Introduction ref The value of , Vue Meeting Automatically help us unpack , So we There is no need to pass in the template ref.value The way To use
<template> <div id="app"> <!-- When we're in template Used in template ref object , He will automatically unpack , --> <span> Current count :{ {counter}}</span> <button @click="increat"></button> </div> </template> <script> // 1.vue3 Provided reactive API Be responsive import {ref} from 'vue' export default { props:{ message:{ type:String, required:true } }, setup(){ //counter To become a ref A responsive reference to let counter=ref(100); //3. stay setup It defines a local function const increat = ()=>{ counter.value++; console.log(counter); } // Returned data return { counter, increat //2. Return this function } } } </script>
边栏推荐
- MATLAB小技巧(30)非线性拟合 lsqcurefit
- 父组件传递给子组件:Props
- 选择商品属性弹框从底部弹出动画效果
- Maze games based on JS
- Take you to brush (niuke.com) C language hundred questions (the first day)
- Answer to the second stage of the assignment of "information security management and evaluation" of the higher vocational group of the 2018 Jiangsu Vocational College skills competition
- Get the city according to IP
- 非父子组件的通信
- 【mysqld】Can't create/write to file
- Data of all class a scenic spots in China in 2022 (13604)
猜你喜欢

. Net core accesses uncommon static file types (MIME types)

Non empty verification of collection in SQL

Abnova circulating tumor DNA whole blood isolation, genomic DNA extraction and analysis

transform-origin属性详解

Big coffee gathering | nextarch foundation cloud development meetup is coming

子组件传递给父组件

Brand · consultation standardization

Network foundation - header, encapsulation and unpacking

After the promotion, sales volume and flow are both. Is it really easy to relax?

Paranoid unqualified company
随机推荐
How to share the same storage among multiple kubernetes clusters
詳解機器翻譯任務中的BLEU
main函数在import语句中的特殊行为
Algorithm --- bit count (kotlin)
Exception of DB2 getting table information: caused by: com ibm. db2.jcc. am. SqlException: [jcc][t4][1065][12306][4.25.13]
FPGA course: application scenario of jesd204b (dry goods sharing)
How DHCP router works
Composition API 前提
请问 flinksql对接cdc时 如何实现计算某个字段update前后的差异 ?
2022年全国所有A级景区数据(13604条)
Take you to brush (niuke.com) C language hundred questions (the first day)
Several index utilization of joint index ABC
The latest trends of data asset management and data security at home and abroad
$parent(获取父组件) 和 $root(获取根组件)
Implementation of AVL tree
栈题目:有效括号的嵌套深度
数据资产管理与数据安全国内外最新趋势
Explain Bleu in machine translation task in detail
7天零基础能考证HCIA吗?华为认证系统学习路线分享
. Net core accesses uncommon static file types (MIME types)