Vue监测数据改变的原理

  

复制代码
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>更新时的一个问题</title>
        <script type="text/javascript" src="../js/vue.js"></script>
    </head>
    <body>
        <!-- 准备好一个容器-->
        <div id="root">
            <h2>人员列表</h2>
            <button @click="updateMei">更新马冬梅的信息</button>
            <ul>
                <li v-for="(p,index) of persons" :key="p.id">
                    {{p.name}}-{{p.age}}-{{p.sex}}
                </li>
            </ul>
        </div>

        <script type="text/javascript">
            Vue.config.productionTip = false
            
            const vm = new Vue({
                el:'#root',
                data:{
                    persons:[
                        {id:'001',name:'马冬梅',age:30,sex:''},
                        {id:'002',name:'周冬雨',age:31,sex:''},
                        {id:'003',name:'周杰伦',age:18,sex:''},
                        {id:'004',name:'温兆伦',age:19,sex:''}
                    ]
                },
                methods: {
                    updateMei(){
                        // this.persons[0].name = '马老师' //奏效
                        // this.persons[0].age = 50 //奏效
                        // this.persons[0].sex = '男' //奏效 
                        //this.persons.splice(0,1,{id:'001',name:'马老师',age:50,sex:'男'})
                        // 这种写法不奏效,具体可以看vue的数据监测原理
                         this.persons[0] = {id:'001',name:'马老师',age:50,sex:''} //不奏效
                    }
                }
            }) 

        </script>
</html>
复制代码

 

 

 原理

 

 

 

 

 

 

 

 

 

1

posted @   安静点--  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
历史上的今天:
2019-12-24 c#基础之继承(一)
点击右上角即可分享
微信分享提示