遇到的问题:

用el-dialog写了个子组件

要实现在子组件中增删数据 点击确定后把值返回给父组件

父组件在每次点开子组件时都会把自己的值传进去。

//父组件传值
this.$refs.transfer.open(this.checkedColumn.concat(), this.columns.concat(), 'fbCampaign');
//子组件接受值
open(checkedColumn, columns, type) {
this.dialogVisible = true;
this.showColumns = checkedColumn;
this.otherColumns = columns;
this.type = type
}

逻辑并没有错误。。。但会遇到下面问题。。

涉及删除的操作,点保存没有出现问题,点击取消,父组件被删除的数据就会不见。

但是并没有传值给父组件。

原因:

数组是引用类型,splice()会删除所引用的地址里面的值。(吐血。。。)

以前在Java中遇到的问题,没想到js也会有这种删除问题。。

解决办法

在父组件传值的时候不传原地址的参数,通过concat()函数复制一个新的值,再传过去。

this.$refs.transfer.open(this.checkedColumn.concat(), this.columns.concat(), 'fbCampaign');

vue js 在组件中对数组使用splice() 遇到的坑。。。的更多相关文章

  1. Vue.js之组件传值

    Vue.js之组件传值 属性传值可以从父组件到子组件,也可以从子组件到父组件. 这里讲一下从父组件到子组件的传值 还以上次的demo为例,demo里有APP.vue是父组件,Header.vue,Us ...

  2. Vue.js多重组件嵌套

    Vue.js多重组件嵌套 Vue.js中提供了非常棒的组件化思想,组件提高了代码的复用性.今天我们来实现一个形如 <app> <app-header></app-head ...

  3. 【Vue课堂】Vue.js 父子组件之间通信的十种方式

    这篇文章介绍了Vue.js 父子组件之间通信的十种方式,不管是初学者还是已经在用 Vue 的开发者都会有所收获.无可否认,现在无论大厂还是小厂都已经用上了 Vue.js 框架,简单易上手不说,教程详尽 ...

  4. 坑!vue.js在ios9中失效

    坑!vue.js在ios9中失效! 接到实现,在移动端生成一个分享链接,分享到微信,在微信中打开,加入! 好,用vue实现----------------------->写代码--------- ...

  5. 【Vue.js实战案例】- Vue.js递归组件实现组织架构树和选人功能

    大家好!先上图看看本次案例的整体效果. 浪奔,浪流,万里涛涛江水永不休.如果在jq时代来实这个功能简直有些噩梦了,但是自从前端思想发展到现在的以MVVM为主流的大背景下,来实现一个这样繁杂的功能简直不 ...

  6. Vue.js使用-组件(下篇)

    上一节,我们定义了组件的基本使用,下面我们看看组件其他的一些特性. 1.组件作用域 同时在Vue对象和组件中定义一个属性,显示结果是怎样的呢? <!DOCTYPE html> <ht ...

  7. Vue.js之组件嵌套小demo

    Vue.js之组件嵌套的小demo项目 第一步:初始化一个wabpack项目,这里不在复述.第二步:在components文件夹下新建Header.vue Footer.vue和Users.vue三个 ...

  8. 基于vue项目的组件中导入mui框架初始化滑动等效果时需移除严格模式的问题

    基于vue项目的组件中导入mui框架初始化滑动等效果时,控制台报错:Uncaught TypeError: 'caller', 'callee', and 'arguments' properties ...

  9. vue.js 同级组件之间的值传递方法(uni-app通用)

    vue.js 兄弟组件之间的值传递方法 https://blog.csdn.net/jingtian678/article/details/81634149

随机推荐

  1. 【BZOJ4310】跳蚤

    [BZOJ4310]跳蚤 Description 很久很久以前,森林里住着一群跳蚤.一天,跳蚤国王得到了一个神秘的字符串,它想进行研究. 首先,他会把串分成不超过 k 个子串,然后对于每个子串 S,他 ...

  2. 装饰者模式vs适配器模式

    http://www.cnblogs.com/tekkaman/p/3275077.html 1.关于新职责:适配器也可以在转换时增加新的职责,但主要目的不在此.装饰者模式主要是给被装饰者增加新职责的 ...

  3. python MD5加密方法

    import hashlibhash = hashlib.md5()hash.update('admin')print hash.hexdigest()

  4. A - Divisors POJ - 2992 (组合数C的因子数)数学—大数

    题意:就是求组合数C的因子的个数! 先说一下自己THL的算法,先把组合数求出来,然后将这个大数分解,得到各个素数的个数,再利用公式!用最快的大数分解算法 分析一下时间复杂度!   n1/4但是分析一下 ...

  5. Kmeans基本思想

    https://blog.csdn.net/zjc_game_coder/article/details/78595833 Kmeans算法的基本思想:看如下图: 解决小样本 .非线性及高维模式识别问 ...

  6. YOLO2(1)配置安装win10+openvc2413+VS2013 简单测试官例

    参考官网 https://github.com/AlexeyAB/darknet#how-to-compile-on-windows https://github.com/AlexeyAB/darkn ...

  7. SQL 清理缓存 更新无效

    --查询结果1 select * from Student where ID='CCB87B71-FB78-4BFE-8692-24DD2D8F8460' --查询结果2 where ID='CCB8 ...

  8. Android学习之Button按钮在程序运行时全部变大写的处理

    问题: 在layout布局文件中,我们命名的按钮名称是“button1”,程序运行过后,在app上显示出来的是“BUTTON1”,先看源代码和效果: 按钮源代码: 运行效果: 解决办法: 方法一: 在 ...

  9. 《大道至简》第一章j愚公移山ava伪代码

    <大道至简>第一章,将编程比作了愚公移山,完美的诠释了编程的整个过程.在两千年前的寓言中,愚公集项目组织者.团队经理.编程人员.技术分析师等众多角色于一身.首先是原始需求的产生:“惩山北之 ...

  10. SkylineGlobe 邻近度(Proximity)分析JavaScript源代码

    邻近度(Proximity)描述了地理空间中两个地物距离相近的程度,是空间分析的一个重要手段. <html xmlns="http://www.w3.org/1999/xhtml&qu ...