current position:Home>Vue calculation attribute and monitoring attribute of the front end
Vue calculation attribute and monitoring attribute of the front end
2022-04-29 05:12:18【A little rabbit who likes eating radishes】
vue Calculation property and monitoring property
Compute properties computed
data Inside is the attribute
The calculation of attributes is done with data Internal properties
Calculated new properties .
Compute properties : Initial reading and dependent data change reading .
Compute properties :obj
Is the object format ,get() The return value is computed Internal obj
The value of the object ;set() Modify the dependency by passing in the value obj
Value .
Complete writing :( object :get、set)
computed: {
fullName: {
get() {
// Read
return this.lastName + '-' + this.firstName;
},
set(value) {
// modify -- Mostly used to present , There's no need to write set
const arr = value.split('-');
this.firstName = arr[1];
this.lastName = arr[0];
}
}
}
majority computed Properties are used to render , There's no need to write set;
determine Just to present You can use the abbreviated form :
Abbreviation :( Function writing , The return value is the result )
computed: {
fullName() {
return this.lastName + '-' + this.firstName;
}
}
Listener attribute watch( Also known as listening properties )
In fact, it is the change of monitoring attributes , and computed
Changes in weight measurement data dependencies
Results
@ event =“ Method ”
If the method is just a simple sentence, change :
<button @click="isHot = !isHot"> Weather switch </button>
But where there are two attribute changes ( Should be written in the method ):
methods: {
changeWeather() {
this.isHot = !this.isHot;
}
},
Listener attribute (watch) Two ways of writing
Listening objects include data、computed
Internal properties , When the listening object is modified, call handler() function
.
How to write it 1:
Callback function handler, The first position in the parameter list is the new value no matter what the name is , The second position is the old value
watch: {
isHot: {
// immediate: true, // The handler function is called upon initialization handler once
handler(newValue, oldValue) {
// Callback function , The first position in the parameter list is the new value no matter what the name is , The second position is the old value
console.log('isHot It was modified ', newValue, oldValue);
}
}
}
immediate: true, // Call... When initializing handler once
How to write it 2:
const vm = new Vue({
});
vm.$watch('isHot', {
handler(newValue, oldValue) {
console.log('isHot It was modified ', newValue, oldValue);
}
})
Deep monitoring ( use deep:true
Monitor multi-level structure changes )
eg: Properties in objects
stay watch Use in :
deep:true
eg:
const vm = new Vue({
el: '#root',
data() {
return {
numbers: {
// Multistage structure
a: 1,
}
}
},
methods: {
changeWeather() {
this.isHot = !this.isHot;
}
},
watch: {
numbers: {
deep: true,// Deep monitoring
handler() {
console.log('numbers Changed the ')
}
},
'numbers.a': {
handler() {
console.log('numbers.a Changed the ');
}
}
}
})
Short for listening properties
The calculation attribute is only getshi when , Abbreviation
The listening attribute is only used internally handler Function is applicable
watch: {
isHot(newValue, oldValue) {
console.log('isHot It was modified ', newValue, oldValue);
}
},
The abbreviation is the same as computed
identical , Are objects ( Embedded attribute method ) Change the form of to the form of a function ; The price of shorthand is that you can't add Initialize call immediate:true
and Deep surveillance deep:true
The difference between computing and listening properties
Personal understanding :
Calculating attributes is equivalent to using Vue Of n A result of an attribute , use Vue Instance proxy for .
The listening attribute and the modified attribute should be in Vue There are definitions in the instance
Silicon Valley :
The listening property can enable asynchronous tasks (eg: use setTimeout Turn on Execute after one second delay handler function )
Add :
setTimeout () The method belongs to BOM Features provided
BOM It's the browser object model
Next section : Front end vue style
copyright notice
author[A little rabbit who likes eating radishes],Please bring the original link to reprint, thank you.
https://en.qdmana.com/2022/116/202204261123446427.html
The sidebar is recommended
- Vuepress packaging deployment stepping on the road of the pit
- Automatic import of less
- Bootstrap blazor table component (III) intelligent generation
- Based on centos7 + nginx + Daphne + uwsgi + django3 2 + supervisor + mysql8 single architecture server production environment deployment (I)
- Differences between vue2 and vue3 named slots
- Vue3: Axios cross domain request problem
- The difference between vue2 and vue3: keep alive
- Configure nginx and SSL certificate for Django project under Windows Environment
- Ant Design Vue: a-table custom column
- Using jQuery in Vue
guess what you like
Vue dynamic loading picture problem
Icons using Alibaba vector icon library in Vue
Java Android mobile phone automatic basic learning element positioning
Rancher configuring HTTPS domain name to access graphic tutorial
Building a blog with GitHub pages + hexo (7) how to delete a published article successfully solved: delete it at the same time deploy_ Git folder
Eight blog views / hexubs
Build a blog with GitHub pages + hexo (9) set the next theme of hexo blog, and only part of the home page is displayed (not the full text)
Building a blog with GitHub pages + hexo (10) the next theme of hexo blog mathjax mathematical formula rendering problem
Hexo/Github. IO configure Tencent cloud CDN
Rich text editor: ckeditor (using ckeditor4 Vue)
Random recommended
- The get request of nginx agent only returns part of the data. The problem is solved
- JavaScript traverses the irregularly nested multi-layer objects, returns the map with "index", and realizes the rapid positioning of sub attributes
- HTTP keep alive details
- [technical update] http / 3 quic Foundation
- Vue to react ----- can the constructor be omitted when using ES6?
- Use of nested HTML
- Vue to react to realize slot function
- When to use react PureComponent
- Details of Vue to react useeffect
- React 16.6 memo()
- Deep understanding of children https://segmentfault.com/a/1190000011527160
- This paper solves the cross domain problem Vue + springboot caused by the separation of front and back ends
- The difference between shallow copy and deep copy is to use native JavaScript to realize deep copy
- Definition of Vue slot
- Sorting algorithm in JavaScript
- JavaScript implements search algorithm, sequential search and binary search
- leetcode20. Valid parentheses, implemented using JavaScript
- 'interface' declarations can only be used in typescript files in Vue 3.0 + ts resolvent
- 496 next element larger JavaScript implementation leetcode
- leetcode 682. Implementation of JavaScript in baseball game
- Source code analysis, Vue What happens when using (), take initializing vuex as an example
- JavaScript optional chain
- Source code analysis, Vue global API set, del, nexttick, use, mixin, etc
- Brief introduction of Vue source code directory design
- Docxtemplator + Vue + docxtemplator image module free realize the front-end Word Download Text and free image download
- vue 2. What happens when x source code analyzes new vue()
- Vue bidirectional binding principle
- Use and principle of Vue keepalive
- Properties and usage of vuex
- Communication mode between Vue components
- Front end interview Foundation
- Usage scenario and principle of Vue nexttick
- Configuration and use of rich text editor ckeditor4 in Vue
- How does Java randomly get elements from a list
- Study summary of pytext: a search path from NLP research to production
- html+css+JavaScript
- Tunnel http://bt3xna.natappfree.cc Invalid cannot connect to 172.0.0.1:8080 The web service powered by natapp. Is not available on this port cn
- Next JS using react quill
- Vue Gaode map can only have one start point and end point. How to realize it
- Divide and conquer strategy -- find the k-th smallest element in the array