全局API之Vue.set 监听数据层的数据变化

简介: 全局API之Vue.set 监听数据层的数据变化

全局API之Vue.set 监听数据层的数据变化


Vue.set` Vue的核心具有一套响应式系统,简单来说就是通过监听器监听数据层的数据变化,当数据改变后,通知视图也自动更新。

Vue.set用于向响应式对象中添加一个属性,并确保这个新属性同样是响应式的,且触发视图更新。


如果数据源是数组

第一个参数是数组,第二个是索引,第三个是索引对应的值

格式:this.$set(target,index,value)

格式1:this.$set(this.数组名,索引,值)

格式2:this.$set(this.数组名.push("添加的值"))


例题练习

要求:点击一下添加按钮,就会在数组最后一位的基础上加1,添加到数组里,并实时显示到页面上

<!--点击一下添加按钮,就会在数组最后一位的基础上加1,添加到数组里,并实时显示到页面上-->
<body>
    <div id="app">  
        <button @click="adds">添加</button>  
        <button @click="update">修改</button>
        <p v-for="value in itme"> {{value}}</p>  
    </div>
    <script>
        var vm=new Vue({
            el:"#app",
            data:{
                num:2,
                itme:[1,2]
            },
            methods:{
              adds(){
                  this.num++
                  this.$set(this.itme.push(this.num))
              },
              update(){
 //把数组itme下标为0的值修改成了"数组下标为0的变成了我!"
      this.$set(this.itme,0,"数组下标为0的变成了我!")
              }
            }
        })
    </script>
</body>


如果数据源是对象

第一个参数是对象,第二个是属性名,第三个是属性对应的值

格式:Vue.set(target,"key",value)

格式1:Vue.set(vm.对象名,"对象属性",对象值)

格式2:this.$set(this.对象名,"对象属性",对象值)


例题练习

要求:点击一下修改按钮,就会更改对象里的数据,并实时显示到页面上

<!--点击一下修改按钮,就会更改对象里的数据,并实时显示到页面上-->
<body>
    <div id="app">  
        <button @click="update">修改</button>
        <table border="1">
            <tr>
                <th>姓名</th>
                <th>性别</th>
                <th>年龄</th>
            </tr>
            <tr>
                <td>{{stundent.name}}</td>
                <td>{{stundent.sex}}</td>
                <td>{{stundent.age}}</td>
            </tr>
        </table>
    </div>
    <script>
        var vm=new Vue({
            el:"#app",
            data:{
                stundent:{
                name:"张三",
                 sex:"女",
                 age:18
               }
            },
            methods:{
              update(){
                  //使用this一定要加上$符号
                 this.$set(this.stundent,"name","李四")
                 //Vue不用加$符号,vm就是本题的vue对象
                 Vue.set(vm.stundent,"sex","男")
                 Vue.set(this.stundent,"age",30)
              }
            }
        })
    </script>
</body>
相关文章
|
14天前
|
缓存 JavaScript UED
Vue3中v-model在处理自定义组件双向数据绑定时有哪些注意事项?
在使用`v-model`处理自定义组件双向数据绑定时,要仔细考虑各种因素,确保数据的准确传递和更新,同时提供良好的用户体验和代码可维护性。通过合理的设计和注意事项的遵循,能够更好地发挥`v-model`的优势,实现高效的双向数据绑定效果。
117 64
|
13天前
|
API 网络安全
发送UDP数据免费API接口教程
此API用于向指定主机发送UDP数据,支持POST或GET请求。需提供用户ID、密钥、接收IP及端口、数据内容等参数。返回状态码和信息提示。示例中含公共ID与KEY,建议使用个人凭证以提高调用频率。
37 13
|
13天前
|
网络协议 API 网络安全
发送TCP数据免费API接口教程
此API用于向指定主机发送TCP数据,支持POST/GET请求,需提供用户ID、KEY、接收IP、端口及数据内容。返回状态码和信息提示,示例如下:{&quot;code&quot;:200,&quot;msg&quot;:&quot;发送成功!&quot;}。详情见:https://www.apihz.cn/api/datacstcp.html
31 11
|
1月前
|
人工智能 关系型数据库 MySQL
数据魔力,一触即发 —— Dataphin数据服务API,百炼插件新星降临!
本文通过一个利用百炼大模型平台和Dataphin数据服务API构建一个客户360智能应用的案例,介绍如何使用Dataphin数据服务API在百炼平台创建一个自定义插件,用于智能应用的开发,提升企业智能化应用水平。
120 3
数据魔力,一触即发 —— Dataphin数据服务API,百炼插件新星降临!
|
13天前
|
API 数据安全/隐私保护 开发者
实时获取小红书详情 API 数据
小红书详情API数据获取指南:注册开发者账号,创建应用并申请接口权限,构建请求获取笔记详情,使用Python等语言处理响应数据。需遵守使用规则,注意调用频率和数据安全。
|
20天前
|
监控 JavaScript 算法
深度剖析 Vue.js 响应式原理:从数据劫持到视图更新的全流程详解
本文深入解析Vue.js的响应式机制,从数据劫持到视图更新的全过程,详细讲解了其实现原理和运作流程。
|
27天前
|
XML 数据可视化 API
商品详情数据实战案例,API接口系列
淘宝商品详情数据在电商领域具有广泛的应用价值,而淘宝商品详情API接口则为开发者提供了获取这些数据的重要途径。通过合理利用这些接口和数据,可以提升业务效率、优化用户体验,为电商行业的发展注入新的活力。
|
1月前
|
SQL 缓存 API
在API接口数据获取过程中,如何确保数据的安全性和隐私性?
在API接口数据获取过程中,确保数据的安全性和隐私性至关重要。本文介绍了身份认证与授权、防止SQL注入和XSS攻击、加密传输、API版本控制、限流与熔断、压力测试与性能优化、备份与恢复以及法律和伦理考量等关键措施,帮助开发者和管理者有效保护API接口的数据安全和隐私性。
|
1月前
|
JavaScript 数据管理 Java
在 Vue 3 中使用 Proxy 实现数据双向绑定的性能如何?
【10月更文挑战第23天】Vue 3中使用Proxy实现数据双向绑定在多个方面都带来了性能的提升,从更高效的响应式追踪、更好的初始化性能、对数组操作的优化到更优的内存管理等,使得Vue 3在处理复杂的应用场景和大量数据时能够更加高效和稳定地运行。
53 1
|
1月前
|
JavaScript 开发者
在 Vue 3 中使用 Proxy 实现数据的双向绑定
【10月更文挑战第23天】Vue 3利用 `Proxy` 实现了数据的双向绑定,无论是使用内置的指令如 `v-model`,还是通过自定义事件或自定义指令,都能够方便地实现数据与视图之间的双向交互,满足不同场景下的开发需求。
56 1