当前位置:网站首页>Readonly read only
Readonly read only
2022-07-07 07:10:00 【To be a woman of light】
adopt reactive perhaps ref You can get a responsive object , But in some cases , We pass it on to other places ( Components ) The responsive object of wants to be in another place ( Components ) By using , But it can't be modified , How to prevent this situation at this time ?
- vue3 For us readonly Methods
- readonly Will return the read-only proxy of the native object ( That is, it is still a Proxy, This is a proxy Of set Method hijacked , And it cannot be modified );
for example : In this way, our attributes can be modified
const info={name:"jiang"}
info.name="Zhang"
But in some cases : We don't want others to modify our name attribute
// principle : We can actually use a responsive proxy object for data hijacking
// Come back then infoProxy The return value does not need to be modified by others
let infoProxy= new Proxy(info,{
// For example, to a component , The component wants to get our data , have access to get Method
get(target.key){
return target[key] // Get key Go straight back to
set(target.key.value){warning(" It is not allowed to modify variable values ")} // Use data hijacking , If you want to modify the console warning
}
})
const name=infoProxy.name //jiang
infoProxy.name="Zhang".
Use
<template>
<div id="app">
<button @click="increat"></button>
</div>
</template>
<script>
// 1.vue3 Provided reactive API Be responsive
import {reactive,readonly} from 'vue'
export default {
props:{
message:{
type:String,
required:true
}
},
setup(){
// Common object
const info1={name:"jiang"}
// Set the read-only property
const readonlyInfo=readonly(info1)
// Responsive object
const info2=reactive({name:"jiang"})
const readonlyInfo=readonly(info2)
const increat=()=>{
// At this time, when modifying our corresponding agent, we will report the corresponding warning
readonlyInfo.name="zhang"
}
return {
increat,
}
}
}
</script>
边栏推荐
- Stack Title: nesting depth of valid parentheses
- Initial experience of addresssanitizer Technology
- [explanation of JDBC and internal classes]
- transform-origin属性详解
- Select the product attribute pop-up box to pop up the animation effect from the bottom
- Jetpack compose is much more than a UI framework~
- linux系统rpm方式安装的mysql启动失败
- Paranoid unqualified company
- 组件的嵌套和拆分
- Tujia, muniao, meituan... Home stay summer war will start
猜你喜欢
Basic process of network transmission using tcp/ip four layer model
非父子组件的通信
SolidWorks的GB库(钢型材库,包括铝型材、铝管等结构)安装及使用教程(生成铝型材为例)
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
sql中对集合进行非空校验
Please answer the questions about database data transfer
异步组件和Suspense(真实开发中)
Master-slave replication principle of MySQL
Academic report series (VI) - autonomous driving on the journey to full autonomy
How can brand e-commerce grow against the trend? See the future here!
随机推荐
How Oracle backs up indexes
什么情况下考虑分库分表
from . onnxruntime_ pybind11_ State Import * noqa ddddocr operation error
一文带你了解静态路由的特点、目的及配置基本功能示例
数据资产管理与数据安全国内外最新趋势
Data of all class a scenic spots in China in 2022 (13604)
main函数在import语句中的特殊行为
Databinding exception of kotlin
Stack Title: nesting depth of valid parentheses
How DHCP router works
非父子组件的通信
Jesd204b clock network
MySql用户权限
Please ask a question, flick Oracle CDC, read a table without update operation, and repeatedly read the full amount of data every ten seconds
子组件传递给父组件
readonly 只读
Freeswitch dials extension number source code tracking
分布式id解决方案
A slow SQL drags the whole system down
华为机试题素数伴侣