广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >VUE如何实现数组更新
  • 988
分享到

VUE如何实现数组更新

2024-04-02 19:04:59 988人浏览 八月长安
摘要

这篇文章主要介绍了Vue如何实现数组更新,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、数据方法分类:(1)原数组改变push 

这篇文章主要介绍了Vue如何实现数组更新,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

1、数据方法分类:

(1)原数组改变

push
 pop
 unshift
 shift
 reverse
 sort
 splice

(2)原数组未变,生成新数组

slice
 concat
 filter

对于使原数组变化的方法,可以直接更新视图。

对于原数组未变的方法,可以使用新数组替换原来的数组,以使视图发生变化。

示例代码:

<!DOCTYPE html>
<html lang="zh">
  <head>
    <meta charset="UTF-8" />
    <title>vue示例</title>
  </head>
  <body>
    <div id="app">
      <ul>
        <template v-for="book in books">
          <li>书名:{{book.name}}</li>
          <li>作者:{{book.author}}</li>
        </template>
      </ul>
    </div>
    <script src="https://cdn.bootCSS.com/vue/2.5.9/vue.min.js"></script>
    <script type="text/javascript">
      var app = new Vue({
        el: '#app',
        data: {
          books: [{
              name: 'vuejs',
              author: 'a'
            },
            {
              name: 'js高级',
              author: 'b'
            },
            {
              name: 'java',
              author: 'c'
            }
          ]
        }
      });
      //直接可以使得视图改变
      //app.books.push({name: 'c++',author: 'd'});
      //需要更新原数组
      app.books = app.books.concat([{name: 'c++',author: 'd'}]);
    </script>
  </body>
</html>

注意:以下不会触发视图的更新。

(1)通过索引直接设置项。

(2)修改数组长度,app.books.length=1。

若不想改变原数组,可以使用计算属性来过滤数组,如:

 <!DOCTYPE html>
<html lang="zh">
  <head>
    <meta charset="UTF-8" />
    <title>vue示例</title>
  </head>
  <body>
    <div id="app">
      <ul>
        <template v-for="book in filterBooks">
          <li>书名:{{book.name}}</li>
          <li>作者:{{book.author}}</li>
        </template>
      </ul>
    </div>
    <script src="Https://cdn.bootcss.com/vue/2.5.9/vue.min.js"></script>
    <script type="text/javascript">
      var app = new Vue({
        el: '#app',
        data: {
          books: [{
              name: 'vuejs',
              author: 'a'
            },
            {
              name: 'js高级111',
              author: 'b'
            },
            {
              name: 'java33333',
              author: 'c'
            }
          ]
        },
        computed:{
          filterBooks:function(){
            return this.books.sort(function(a,b){
              return a.name.length>b.name.length?1:-1
            })
          }
        }
      });
    </script>
  </body>
</html>

那么vue如何监听数据的变化呢?

1)如何追踪变化

每个组件实例都有相应的 watcher 实例对象,它会在组件渲染的过程中把属性记录为依赖,之后当依赖项的 setter 被调用时,会通知 watcher 重新计算,从而致使它关联的组件得以更新。

2)变化检测问题

受现代 JavaScript 的限制(以及废弃 Object.observe),Vue 不能检测到对象属性的添加或删除。由于 Vue 会在初始化实例时对属性执行 getter/setter 转化过程,所以属性必须在 data 对象上存在才能让 Vue 转换它,这样才能让它是响应的。例如:

var vm = new Vue({
 data:{
 a:1
 }
})
// `vm.a` 是响应的
vm.b = 2
// `vm.b` 是非响应的

Vue 不允许在已经创建的实例上动态添加新的根级响应式属性(root-level Reactive property)。然而它可以使用 Vue.set(object, key, value) 方法将响应属性添加到嵌套的对象上:

Vue.set(vm.someObject, 'b', 2)

还可以使用 vm.$set 实例方法,这也是全局 Vue.set 方法的别名,?是我们在项目中用过的一次,this.imgLen=3,目的使this.userImgsh=["审核成功","审核成功","审核成功"]

var _this=this
for (var i = 0; i <this.imgLen;i++) {
  if(_this.userImgsh[i] === '审核成功') continue;
    _this.$set(_this.userImgsh, i, '审核成功');
}

感谢你能够认真阅读完这篇文章,希望小编分享的“VUE如何实现数组更新”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网VUE频道,更多相关知识等着你来学习!

--结束END--

本文标题: VUE如何实现数组更新

本文链接: https://www.lsjlt.com/news/74941.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • VUE如何实现数组更新
    这篇文章主要介绍了VUE如何实现数组更新,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、数据方法分类:(1)原数组改变push ...
    99+
    2022-10-19
  • Vue如何实现数组更新及过滤排序功能
    这篇文章给大家分享的是有关Vue如何实现数组更新及过滤排序功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。变异方法  Vue 包含一组观察数组的变异方法,它们将会触发视图更新,...
    99+
    2022-10-19
  • ASP 中如何实现实时更新 JavaScript 数组?
    在 ASP 中,我们经常需要将服务器端的数据传递给客户端的 JavaScript。在这个过程中,我们可能需要将服务器端的数据转换为 JavaScript 数组,并实时更新数组中的数据。本文将介绍如何在 ASP 中实现这个过程。 一、将服务...
    99+
    2023-07-22
    实时 javascript 数组
  • vue+echarts实现数据实时更新
    本文实例为大家分享了vue+echarts实现数据实时更新的具体代码,供大家参考,具体内容如下 今天在管理后台新增一个图表,用了echarts,记录一下 根据数据实时更新 安装 np...
    99+
    2022-11-13
  • Vue组件渲染与更新怎么实现
    这篇“Vue组件渲染与更新怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue组件渲染与更新怎么实现”文章吧。1. ...
    99+
    2023-07-05
  • 如何使用 Python 和 Laravel 实现实时数组更新?
    在现代Web应用程序中,实时数据更新是至关重要的。实时更新可以使用户在没有刷新浏览器的情况下获取最新的数据。在这篇文章中,我们将讨论如何使用Python和Laravel实现实时数组更新。 什么是实时数组更新? 实时数组更新指的是在We...
    99+
    2023-10-01
    laravel 实时 数组
  • Spring框架如何实现Python数组的实时更新?
    Spring框架是Java应用程序开发中最流行的框架之一,它提供了丰富的功能和工具,可以帮助开发人员更快速地构建高质量的应用程序。Python数组是Python语言中常用的数据结构之一,它可以用于存储一组数据并进行操作。本文将介绍Sprin...
    99+
    2023-07-04
    数组 实时 spring
  • 如何在Python中实现数组文件的实时更新?
    在Python中,实现数组文件的实时更新是非常常见的需求。在本文中,我们将介绍如何使用Python中的一些常见工具和技巧来实现这个功能。 数组文件的实时更新通常用于一些需要实时监控数据变化的应用场景,例如股票市场、气象预报和实时传感器数据等...
    99+
    2023-07-06
    实时 数组 文件
  • Vue组件渲染与更新实现过程浅析
    目录1. 模板编译2. 组件渲染和更新1. 模板编译 Vue的模板编译就是将模板字符串转换为渲染函数的过程。具体来说,当组件的生命周期执行到created和beforeMounted...
    99+
    2023-03-03
    Vue组件渲染 Vue组件更新
  • JavaScript 数组在 ASP 中的应用,如何实现实时更新?
    JavaScript 数组是一种非常常用的数据结构,它可以存储任意类型的数据,并且可以动态地增加或删除元素。在 ASP 网页开发中,JavaScript 数组也经常被使用,例如在表单验证、数据处理、动态生成 HTML 等方面都会用到。本文...
    99+
    2023-07-22
    实时 javascript 数组
  • Vue怎么实现响应式数据更新
    本文小编为大家详细介绍“Vue怎么实现响应式数据更新”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue怎么实现响应式数据更新”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。首先假设我们在祖辈时候传入进来是个动态...
    99+
    2023-07-04
  • vuex与组件data之间的数据更新如何实现
    这篇文章主要讲解了“vuex与组件data之间的数据更新如何实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vuex与组件data之间的数据更新如何实现”吧!问题我们都知道,在Vue组件中...
    99+
    2023-07-04
  • Vue + Vue-router如何实现同名路由切换数据不更新功能
    这篇文章将为大家详细讲解有关Vue + Vue-router如何实现同名路由切换数据不更新功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在默认情况下, 同名路由之间的...
    99+
    2022-10-19
  • jquery php如何实现实时数据更新
    本文操作环境:Windows7系统、PHP7.1版、Dell G3电脑。jquery php如何实现实时数据更新php+jQuery ajax实现的实时刷新显示数据功能示例具体如下:创建数据表:demo-- -- 表的结构 `demo` -...
    99+
    2019-01-12
    jquery php
  • Vue nextTick如何获取更新后的DOM的实现
    这篇文章将为大家详细讲解有关Vue nextTick如何获取更新后的DOM的实现,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。前两天在开发时遇到一个需求:打开对话框的时候自动聚焦其...
    99+
    2023-06-28
  • MySQL如何实现数据批量更新
    最近需要批量更新大量数据,习惯了写sql,所以还是用sql来实现,下面这篇文章主要给大家总结介绍了关于MySQL批量更新的方式,需要的朋友可以参考下 根据不同条件批量更新同一值 这种场景直接通过update语句更新即可,如: 1 UP...
    99+
    2023-10-20
    mysql 数据库
  • vue父组件监听子组件数据更新方式(hook)
    目录vue父组件监听子组件数据更新this.$on(‘hook : 生命周期钩子’, () => {})@hook:生命周期钩子=“触发的函...
    99+
    2022-11-13
    vue父组件监听子组件 vue数据更新 vue监听子组件
  • vue实现公共组件传值并及时监听到数据更新视图
    目录vue公共组件传值及时监听到数据更新视图场景vue组件传值的几种方式父传子子传父非父子组件传值总结vue公共组件传值及时监听到数据更新视图 场景 AB两个子组件在 父页面中,(我...
    99+
    2023-01-13
    vue公共组件传值 监听数据更新视图 vue更新视图
  • 解决vue组件渲染没更新数据问题
    目录问题:现象:原因解决步骤问题: 使用前端日期控件时 - 数据联动时数据绑定无效问题 现象: 选择A日期,想动态改变B日期数据,只有第一次选择时会动态改变B日期数据,第二次选择A日...
    99+
    2023-02-09
    vue组件渲染没更新 vue组件渲染
  • react如何实现热更新
    这篇文章主要讲解了“react如何实现热更新”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“react如何实现热更新”吧!react实现热更新的方法:1、使用“yarn add react-h...
    99+
    2023-07-04
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作