写给自己看的,你们能不能看懂,复制下来不就知道了吗?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Object.defineProperty</title>
</head>
<body>
<input type="text" id="model">
<div id="box"></div>
</body>
<script>
let info = {
age: 18
}
let arr = [{name: "Elise1"},{name: "Elise2"},{name: "Elise3"},{name: "Elise4"},{name: "Elise5"}]
Object.defineProperty(info, 'arr' ,{
get(){
console.log('读取数据:' + arr);
return arr
},
set(param){
arr = param
updateView()
}
})
console.log('初始数据:' + info.arr);
let text = document.getElementById("model")
text.onkeydown = function(e){
if(e.keyCode == 13){
if(!text.value.trim()){
return
}
let aa = info.arr
aa.push({name: text.value})
info.arr = aa
text.value = ""
}
}
function updateView(){
let box = document.getElementById('box')
let str = ""
info.arr.forEach(item=>{
str += `<p>${item.name}</p>`
})
box.innerHTML = str
}
updateView()
</script>
</html>
效果展示