Vue-22、总结Vue数据监测

1、功能

javascript 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vue总结数据监测</title>
    <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
<div id="root">
    <hr/>
    <h1 >学生信息</h1>
    <button @click="student.age++">年龄+1岁</button>
    <button @click="addsex">点击添加学生性别</button>

    <button @click="student.sex='女'">点击修改学生性别</button>

    <button @click="addFirstFriend">在列表首位添加一个朋友</button>
    <button @click="updateFirstName">修改第一个朋友的名字为张三</button>
    <button @click="addHobby">添加一个爱好</button>
    <button @click="updateHobby">修改第一个爱好为:开车</button>
    <h2>学生名字:{{student.name}}</h2>
    <h2 v-if="student.sex">性别:{{student.sex}}</h2>
    <h2>学生年龄:{{student.age}}</h2>

    <hr/>
    <h2>学生爱好</h2>
    <ul>
        <li v-for="p in student.hobby">{{p}}</li>
    </ul>
    <h2>学生朋友们</h2>
    <h2>
        <ul>
            <li v-for="(p,index) in student.friends" :key="index"> {{p.name}}--{{p.age}}</li>
        </ul>
    </h2>
</div>
<script type="text/javascript">
    Vue.config.productionTip=false;
    const vm = new Vue({
        el:"#root",
        data:{
            student:{
                name: 'tom',
                age:18,
                hobby:[
                    '抽烟',
                    '喝酒',
                    '烫头'
                ],
                friends:[
                    {name:'jeery',age:35},
                    {name:'tony',age:36}
                ]
            }
        },
        methods:{
            addsex(){
                // Vue.set(this.student,'sex','男')
                this.$set(this.student,'sex','男');
            },
            addFirstFriend(){
                this.student.friends.unshift({name:'李四',age:36});
            },
            updateFirstName(){
               this.student.friends[0].name="张三";
            },
            addHobby(){
                this.student.hobby.unshift('抽烟');
            },
            updateHobby(){
                this.student.hobby.splice(0,1,'开车');
               // Vue.set(this.student.hobby,0,'开车');
               // this.$set(this.student.hobby,0,'开车')
            },
        }
    })
</script>
</body>
</html>

2、总结

相关推荐
Cobyte4 分钟前
4.响应式系统基础:从发布订阅模式的角度理解 Vue3 的数据响应式原理
前端·javascript·vue.js
晓得迷路了6 分钟前
栗子前端技术周刊第 124 期 - ESLint v10.2.0、React Native 0.85、Node.js 25.9.0...
前端·javascript·eslint
星空椰15 分钟前
JavaScript基础:运算符和流程控制
开发语言·javascript·ecmascript
半个俗人23 分钟前
fiddler的基础使用
前端·测试工具·fiddler
a11177625 分钟前
变电站数字孪生大屏ThreeJS 开源项目
前端·信息可视化·开源·html
恋猫de小郭26 分钟前
AI 的公开测评得分都在作弊,就像泡面的封面,一切以实物为准
前端·人工智能·ai编程
禅思院28 分钟前
使用 VueUse 构建一个支持暂停/重置的 CountUp 组件
前端·vue.js·架构
薛定e的猫咪37 分钟前
2026 年 4 月实测:OpenAI Codex 保姆级教程,从安装到 MCP、Skills 与多智能体协作
前端·数据库·人工智能
I love studying!!!41 分钟前
Web应用程序:用户账户
前端·数据库·sqlite
whuhewei41 分钟前
React性能优化
前端·react.js·性能优化