全局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>
相关文章
|
1月前
|
机器学习/深度学习 缓存 数据处理
《零基础实践深度学习》2.3.3 校验数据有效性 基于飞桨Dataset和DataLoader API完成数据处理
这篇文章详细介绍了在深度学习任务中进行数据处理的步骤,包括数据校验、封装数据读取与处理函数、使用飞桨Dataset和DataLoader API完成数据加载,以及数据增强/增广的方法和实践,旨在确保数据的有效性和提高模型训练效果。
|
9天前
|
数据采集 存储 监控
网络爬虫的最佳实践:结合 set_time_limit() 与 setTrafficLimit() 抓取云盘数据
本文探讨了如何利用 PHP 的 `set_time_limit()` 与爬虫工具的 `setTrafficLimit()` 方法,结合多线程和代理 IP 技术,高效稳定地抓取百度云盘的公开资源。通过设置脚本执行时间和流量限制,使用多线程提高抓取效率,并通过代理 IP 防止 IP 封禁,确保长时间稳定运行。文章还提供了示例代码,展示了如何具体实现这一过程,并加入了数据分类统计功能以监控抓取效果。
46 16
网络爬虫的最佳实践:结合 set_time_limit() 与 setTrafficLimit() 抓取云盘数据
|
2天前
|
JavaScript
Vue+element_Table树形数据与懒加载报错Error in render: “RangeError: Maximum call stack size exceeded“
本文讨论了在使用Vue和Element UI实现树形数据和懒加载时遇到的“Maximum call stack size exceeded”错误,指出问题的原因通常是因为数据中的唯一标识符`id`不唯一,导致递归渲染造成调用栈溢出。
11 1
Vue+element_Table树形数据与懒加载报错Error in render: “RangeError: Maximum call stack size exceeded“
在 Vue3 中,如何使用 setup 函数创建响应式数据?
在 Vue3 中,如何使用 setup 函数创建响应式数据?
|
3天前
|
开发框架 JSON 缓存
震撼发布!Python Web开发框架下的RESTful API设计全攻略,让数据交互更自由!
在数字化浪潮推动下,RESTful API成为Web开发中不可或缺的部分。本文详细介绍了在Python环境下如何设计并实现高效、可扩展的RESTful API,涵盖框架选择、资源定义、HTTP方法应用及响应格式设计等内容,并提供了基于Flask的示例代码。此外,还讨论了版本控制、文档化、安全性和性能优化等最佳实践,帮助开发者实现更流畅的数据交互体验。
18 1
|
29天前
|
存储 JSON API
淘系API接口(解析返回的json数据)商品详情数据解析助力开发者
——在成长的路上,我们都是同行者。这篇关于商品详情API接口的文章,希望能帮助到您。期待与您继续分享更多API接口的知识,请记得关注Anzexi58哦! 淘宝API接口(如淘宝开放平台提供的API)允许开发者获取淘宝商品的各种信息,包括商品详情。然而,需要注意的是,直接访问淘宝的商品数据API通常需要商家身份或开发者权限,并且需要遵循淘宝的API使用协议。
淘系API接口(解析返回的json数据)商品详情数据解析助力开发者
|
16天前
|
JavaScript
vue学习(8)数据代理
vue学习(8)数据代理
26 1
|
1月前
|
JavaScript
Vue学习之--------深入理解Vuex之多组件共享数据(2022/9/4)
这篇文章通过一个实际的Vue项目案例,演示了如何在Vuex中实现多组件间共享数据。文章内容包括在Vuex的state中新增用户数组,创建Person.vue组件用于展示和添加用户信息,以及在Count组件中使用Person组件操作的数据。通过测试效果展示了组件间数据共享和状态更新的流程。
Vue学习之--------深入理解Vuex之多组件共享数据(2022/9/4)
|
26天前
|
XML JSON API
淘宝京东商品详情数据解析,API接口系列
淘宝商品详情数据包括多个方面,如商品标题、价格、图片、描述、属性、SKU(库存量单位)库存、视频等。这些数据对于买家了解商品详情以及卖家管理商品都至关重要。
|
1天前
|
JavaScript 前端开发 UED
组件库实战 | 用vue3+ts实现全局Header和列表数据渲染ColumnList
该文章详细介绍了如何使用Vue3结合TypeScript来开发全局Header组件和列表数据渲染组件ColumnList,并提供了从设计到实现的完整步骤指导。