当前位置:网站首页>Daily notes~
Daily notes~
2022-07-04 16:18:00 【Seven days and seven longevity】
vite
Create a project
npm init vite-app Project name
Enter the project directory
cd Project name
Installation dependency
npm install
function
npm run dev
setup
understand vue3.0 A new configuration item in , Value is a function
setup It's all Composition API( Combine API) The performance stage
Components used in data Methods, etc. All shall be configured in setup in
setup Two return values of function
If you return an object Then the properties in the object Methods can be used directly in templates ( Focus on )
If you return a rendering function You can customize the rendering content
Be careful
Try not to contact vue2.x Configuration mix
vue2.x To configure (data,methods,computed..) You can access setup Properties in Method
But in setup Cannot access vue2.x To configure (data,methods,computed...)
If there are duplicate names setup first
setup It can't be a async function Because the return value is no longer return The object of It is promise The template can't see return Properties in objects
ref function
effect Define a responsive data
grammar const xxx=ref(initValue)
Create a reference object containing responsive data (reference object abbreviation ref object )
js Operation data in xxx.value
Read data from the template Unwanted .value direct <div>{
{xxx}}</div>
remarks
The accepted data can be Basic types It can also be object type
Basic types of data Responsiveness still depends on object.defineProperty() Of get and set Accomplished
Object type data Internal help Vue3.0 A new function in --reactive function
reactive function
effect Define the responsive data of an object type ( Basic type don't use it Use ref function )
grammar const Proxy object =reactive( Source object ) Receive an object ( Or an array ), Returns a proxy object (proxy Instance object of abbreviation proxy object )
reactive The defined responsive data is deep-seated
Give... Internally ES6 Of Proxy Realization Operate the internal data of the source object through the proxy object
vue3 The principle of response in
Realization principle
object type adopt object.defineProperty() Reading properties , Modify to intercept ( The data was hijacked )
An array type Intercept by rewriting a series of methods to update the array ( The change method of the array is wrapped )
Object,defineProperty(data,'count',{
get(){}
set(){}
})
Existing problems
New properties , Delete attribute The interface doesn't update
Modify the array directly by subscript , The interface doesn't update automatically
vue3 The principle of response
Realization principle
adopt Proxy( agent ) Intercepts any attribute changes in the object Include Read and write property values Attribute addition Deletion of attributes, etc
adopt Reflect( Reflection ) Operate on the properties of the source object
let person = {
name: "zs",
age: 19,
};
// simulation vue3 Implement responsive in
const p = new Proxy(person, {
// Someone read p Called when a property of
get(target, propName) {
console.log(target, propName);
// return target[propName];
return Reflect.get(target, propName);
},
// Someone modified it p A property of , Or to p Called when a property is appended
set(target, propName, value) {
// target[propName] = value;
Reflect.set(target, propName, value);
},
// Someone deleted p When a property of
deleteProperty(target, propName) {
// return delete target[propName];
return Reflect.defineProperty(target, propName);
},
});
reactive contrast ref
Compare... From the perspective of defining data
ref Used to define Basic types of data
reactive Used to define object ( Or an array ) Type data
remarks ref It can also be used to define object or array type data It will automatically pass through reactive Turn to proxy object
Compare... In principle
ref adopt object.defineProperty() Of get and set To achieve responsive ( The data was hijacked )
reactive By using Proxy To achieve responsive ( The data was hijacked ), And pass Reflect Operate the data inside the metadata
Compare... From the perspective of use
ref Defined data Operational data needs .value When reading data, you do not need to read directly from the template .value
reactive Defined data Operating data and reading data No need to .value
setup Two things to pay attention to
setup Actual execution
stay beforeCreate Once before ,this yes undefined
setup Parameters of
props Value as object contain Passed from outside the component And the internal declaration of the component has accepted the attribute
context Context object
attrs Value as object contain Passed from outside the component But not in props Properties declared in the configuration amount to this.$attrs
slots Received slot contents amount to this.$slots
emit Distribute functions that automatically take events amount to this.$emit
边栏推荐
- Blood cases caused by Lombok use
- In today's highly integrated chips, most of them are CMOS devices
- Anta is actually a technology company? These operations fool netizens
- Unity script lifecycle day02
- TypeError: not enough arguments for format string
- 科研漫画 | 联系到被试后还需要做什么?
- Nine CIO trends and priorities in 2022
- MYSQL索引优化
- Change the mouse pointer on ngclick - change the mouse pointer on ngclick
- Audio and video technology development weekly | 252
猜你喜欢
What is the future of the booming intelligent Internet of things (aiot) in recent years?
案例分享|金融业数据运营运维一体化建设
error: ‘connect‘ was not declared in this scope connect(timer, SIGNAL(timeout()), this, SLOT(up
What is the catalog of SAP commerce cloud
Interface test - knowledge points and common interview questions
Common knowledge of unity Editor Extension
Dry goods | fMRI standard reporting guidelines are fresh, come and increase your knowledge
时钟轮在 RPC 中的应用
Scientific research cartoon | what else to do after connecting with the subjects?
The new generation of domestic ORM framework sagacity sqltoy-5.1.25 release
随机推荐
Unity script API - time class
Functional interface, method reference, list collection sorting gadget implemented by lambda
Stress, anxiety or depression? Correct diagnosis and retreatment
Detailed explanation of MySQL composite index (multi column index) use and optimization cases
深入JS中几种数据类型的解构赋值细节
Interface test - knowledge points and common interview questions
std::shared_ ptr initialization: make_ shared&lt; Foo&gt; () vs shared_ ptr&lt; T&gt; (new Foo) [duplicate]
After the eruption of Tonga volcano, we analyzed the global volcanic distribution and found that the area with the most volcanoes is here!
Common API day03 of unity script
怎么判断外盘期货平台正规,资金安全?
Blood cases caused by Lombok use
Unity动画Animation Day05
Some fields of the crawler that should be output in Chinese are output as none
Object distance measurement of stereo vision
Socks agent tools earthworm, ssoks
How to rapidly deploy application software under SaaS
Laravel simply realizes Alibaba cloud storage + Baidu AI Cloud image review
Function test - knowledge points and common interview questions
Logstash~Logstash配置(logstash.yml)详解
中国主要城市人均存款出炉,你达标了吗?