最近在项目中有使用Vue,然而在开发过程中发现,当我对数组中的元素进行删除时,会导致该元素后面的元素没有被重新渲染。

html代码如下:
有两个组件:一个是Main组件,用来包含所有的内容容器;一个是子组件,用来显示内容。

js代码如下:

然后还有一个Vuex的store:

正常来说,在删除子容器时,应该可以直接使用vue中数组的重写方法splice进行删除。如:

state.Content.splice(i,1);

但是使用后发现,在删除元素后,这个元素后面的元素会被重新加载,并且没有被重新渲染,页面中的vue逻辑没有被正常执行。

尝试过多种方式后还是没有解决,感觉应该是当元素被删除后,后面元素的下标发生变化,导致元素中的内容被重新加载,但又没有被渲染。

因此我最终的解决方案是,如上图中所示,不直接删除元素,而是使用

state.Content.splice(i,1,null);

的方式将数组中的元素设置为空,但又不改变数组的排列方式,从而最终解决问题。
但是这种解决方式只能说治标不治本,并不能很好的解答我的疑问。

【Vue】删除数组元素,导致剩余元素被重新渲染的更多相关文章

  1. C#如何删除数组中的一个元素

    C#如何删除数组中的一个元素,剩余的元素组成新数组,数组名不变double[] arr = new double[n];需要删除的是第m+1个数据arr[m]求新数组arr.(新数组arr包含n-1个 ...

  2. C语言 · 删除数组中的0元素

    算法提高 6-9删除数组中的0元素   时间限制:1.0s   内存限制:512.0MB      编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动.注意,C ...

  3. Php 删除数组后几个元素

    <?php /* * 文件分类: practice@helkbore * 删除数组后几个元素 年2月5日10:24:42 */ $arr1 = array('aa', 'b', 'c', 'dd ...

  4. js删除数组里指定的元素

    js删除数组里指定的元素 首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: Array.prototype.indexOf = function(val) { ...

  5. php中删除数组的第一个元素和最后一个元素的函数

    对于一个php数组,该如何删除该数组的第一个元素或者最后一个元素呢?其实这两个过程都可以通过php自带的函数 array_pop 和 array_shift 来完成,下面就具体介绍一下如何来操作. ( ...

  6. php删除数组中指定值的元素

    php删除数组中指定值的元素 /** * 删除数组中指定值的元素 * @author: ibrahim * @param array $arr 数组 * @param string $val 值 * ...

  7. Vue 改变数组中对象的属性不重新渲染View的解决方案

    Vue 改变数组中对象的属性不重新渲染View的解决方案 在解决问题之前,我们先来了解下 vue响应性原理: Vue最显著的一个功能是响应系统-- 模型只是一个普通对象,修改对象则会更新视图.受到ja ...

  8. php删除数组中相同的元素,只保留一个相同元素

    <?php// 删除数组中相同元素,只保留一个相同元素function formatArray($array){sort($array);$tem = ”;$temarray = array() ...

  9. (转载)PHP删除数组中的特定元素的代码

    (转载)http://www.jb51.net/article/30689.htm 我们知道,PHP没有提供专门删除一个特定数组元素的方法.但是可以通过unset()函数来完成这种要求比如下面的程序: ...

随机推荐

  1. hyper发送表单数据

    前言 某个美丽的下午,运维把服务器上的nginx升级了,http协议也变成了http2.0,我本地的requests再也连接不到服务器,然后就找到了额hyper 但是hyper的文档写的很简单,而且相 ...

  2. ab命令

    ab -V -n在测试会话中所执行的请求个数.默认时,仅执行一个请求.请求的总数量 -c一次产生的请求个数.默认是一次一个.请求的用户量 -t测试所进行的最大秒数.其内部隐含值是-n 50000,它可 ...

  3. MongoDB常用配置项目

    systemLog:  destination: file  logAppend: true  path: /data/mongod/log/mongod-rs1.log processManagem ...

  4. Day055--MySQL--外键的变种,表与表的关系,单表查询,多表查询, 内连接,左右连接,全外连接

    表和表的关系 ---- 外键的变种 * 一对多或多对一 多对多 一对一 参考 https://www.cnblogs.com/majj/p/9169416.html 如何找出两张表之间的关系 分析步骤 ...

  5. C# 中的#if、#elif、#else、#endif等条件编译符号

    C#编译器遇到一个由#if和#endif包围起来的语句块时,会检查#if后面的符号是否已经被定义了,如果已经被定义,那么才会编译语句块之间的代码.而定义一个可以被#if测试的符号需要事先用#defin ...

  6. Evaluation of Forwarding Efficiency in NFV-Nodes Toward Predictable Service Chain Performance

    文章名称:Evaluation of Forwarding Efficiency in NFV-Nodes Toward Predictable Service Chain Performance 发 ...

  7. trackerClient.getConnection()为null

    如题,整了个fastDFS文件服务器.但是集成项目spring boot时上传文件失败! Debug到trackerClient.getConnection()时为null.于是看了服务器上track ...

  8. 在思科路由器上配置AAA实验(Cisco PT)

     1.拓扑图 Addressing Table 地址表    Device   Interface   IP Address   Subnet Mask   R1 Fa0/0 192.168.1.1 ...

  9. Python——LOL官方商城皮肤信息爬取(一次练手)

    # -*- coding utf-8 -*- import urllib import urllib.request import json import time import xlsxwriter ...

  10. Python——爬取人口迁徙数据(以腾讯迁徙为例)

    说明: 1.迁徙量是腾讯修改后的数值,无法确认真实性. 2.代码运行期间,腾讯迁徙未设置IP屏蔽和浏览器检测,因此下段代码仅能保证发布近期有效. 3.代码功能:爬取指定一天的四十(此四十是根据自己的城 ...