vm.items.splice( ) 替换/删除/添加数组内某一个或者几个值

news/2024/7/10 1:56:24 标签: vue, splice, 修改数组

为什么不用 vm.items[index] 和 vm.items.length 直接修改数组元素和数组长度?

答:这两种方法不是响应式的。也就是说不会改变 vue 对象里面的数据

<script>
//不是响应式的的方法
vm.items[1] = 'x' // 不是响应性的
vm.items.length = 2 // 不是响应性的
</script>



(PS:  Vue.set(array key, value)  set 方法也可以 设置数组元素,详见   Vue.set( target, key, value ) 设置数组元素)


splice(index,len,[newValue])它也可以用来替换/删除/添加数组内某一个或者几个值(该方法会改变原始数组,响应式)

语法:vm.items.splice(index,len,[newValue])

index: 数组开始下标       

len: 替换/删除的长度       

item: 替换的值,删除操作的话 item为空

语法:vm.items.splice(index, len, newValue)

一、用splice直接修改数组的长度

vm.items.splice(1)  :设置数组的长度为 1

<div id="div" >
<p v-for="item in items">
{{item}}
</p>
</div>


<script>
var vm = new Vue({
el:"#div",
  data: {
    items: ['a', 'b', 'c']
  }
})

vm.items.splice(1)
</script>

二、splice修改数组的长度和元素

vm.items.splice(1,2,"ling") :  表示从1 这个下标的元素开始, 删除2个元素,并在这个位置增加新元素"ling" 

<div id="div" >
<p v-for="item in items">
{{item}}
</p>
</div>

<script>
var vm = new Vue({
el:"#div",
  data: {
    items: ['a', 'b', 'c']
  }
})

vm.items.splice(1,2,"ling")//表示从1 这个下标的元素开始, 删除2个元素,并在这个位置增加新元素"ling"

alert(vm.items) //返回值 a,ling 说明数组已经被改变

</script>

使用splice 方法前的数组:

使用splice 方法后的数组:


 


http://www.niftyadmin.cn/n/1529058.html

相关文章

Echarts环形进度条使用二(修改部分)

可参考https://blog.csdn.net/zhalcie2011/article/details/55808145 /// 一】修改进度条颜色 参考&#xff1a;https://jingyan.baidu.com/article/7f766dafff9b374101e1d093.html二】修改进度条中字体大小 参考&#xff1a;https://segmentfault.com/q/1010000010552930 参考…

Echarts柱状图使用笔记

一】、柱状图x&#xff0c;y轴显示导航线方法&#xff1a;二】、y轴值不显示方法&#xff1a;https://segmentfault.com/q/1010000009702355yAxis : [{axisLabel : {formatter: function(){return "";}}} ] formatter后面跟方法时&#xff0c;y轴的显示值由方法的返回…

js里面的实例方法和静态方法

静态方法是可以直接用类名.方法名去调用的&#xff0c;而实例方法是不可以的&#xff0c;他必须要用实例才可以去调用&#xff0c;那么&#xff0c;在js的世界里面会不会也有类似的一个东西呢&#xff1f;实际上是有的&#xff0c;看一看以下的方法&#xff1a; var Personfun…

echar动态数据

http://echarts.baidu.com/examples/editor.html?cdynamic-data

ehcarts 柱状图x轴坐标值改为图片

需求方法&#xff1a; 1参考网站&#xff1a;http://www.echartsjs.com/gallery/editor.html?cbar-rich-text&themedark 代码&#xff1a;x坐标值设置&#xff0c;尤其是图片路径提前设置好xAxis: { type: category, show: true, dat…

wow.js使用

参考&#xff1a;https://www.cnblogs.com/xgxm13/p/7667296.html wow.js依赖animate.css&#xff0c;不需要jquery&#xff1b;animate.css是纯css动画 官网&#xff1a;http://mynameismatthieu.com/WOW/ 建议去官网一看 bootstrap CDN服务&#xff1a;http://www.bootcdn.…

选择框可以同时输入和选择选项

<li> <p class"address">校区</p> <div class"addresschoice"> <span class"addressel"> …

OwlCarousel使用

参考&#xff1a;http://www.jq22.com/jquery-info6010 使用方法 Owl Carousel 2是上一版Owl Carousel的升级版本。Owl Carousel 2可以让你创建漂亮的响应式旋转木马的jQuery插件&#xff0c;它支持移动触摸屏&#xff0c;功能十分强大。Owl的新特性有&#xff1a; 可以无限循…