文章目录
一、数组中响应式的方法
1. push方法
<body>
<div id="app">
<ul>
<li v-for="item in letters">{{item}}</li>
</ul>
<button @click="btnClick">添加</button>
</div>
<script src="../js/vue.js"></script>
<script>
const app = new Vue({
el: "#app",
data: {
letters: ['a','b','c','d']
},
methods: {
btnClick() {
this.letters.push('e');
}
}
})
</script>
</body>
2. pop方法
<body>
<div id="app">
<ul>
<li v-for="item in letters">{{item}}</li>
</ul>
<button @click="btnClick">删除</button>
</div>
<script src="../js/vue.js"></script>
<script>
const app = new Vue({
el: "#app",
data: {
letters: ['a','b','c','d']
},
methods: {
btnClick() {
this.letters.pop();
}
}
})
</script>
</body>
3. shift方法
<body>
<div id="app">
<ul>
<li v-for="item in letters">{{item}}</li>
</ul>
<button @click="btnClick">删除第一个</button>
</div>
<script src="../js/vue.js"></script>
<script>
const app = new Vue({
el: "#app",
data: {
letters: ['a','b','c','d']
},
methods: {
btnClick() {
this.letters.shift();
}
}
})
</script>
</body>
4. unshift方法
<body>
<div id="app">
<ul>
<li v-for="item in letters">{{item}}</li>
</ul>
<button @click="btnClick">在第一个之前添加</button>
</div>
<script src="../js/vue.js"></script>
<script>
const app = new Vue({
el: "#app",
data: {
letters: ['a','b','c','d']
},
methods: {
btnClick() {
// 往数组第一个位置添加一个元素
// this.letters.unshift('aa');
// 往数组第一个位置添加多个元素
this.letters.unshift('aa', 'bb', 'cc');
}
}
})
</script>
</body>
5. splice方法
splice方法有三个作用 , 分别是 : 删除元素/ 插入元素 / 替换元素
回顾splice语法
splice(start, end)
splice的三个参数
- 第一个参数start : 表示从哪个元素索引开始.
- 第二个参数 : 传入要操作几个元素.
- 比如 :
this.letters.splice(1, 2);
表示从第一个索引元素开始,删除两个元素
- 比如 :
- 第三个参数 : 要替换的参数, 可以有多个
- 比如 :
this.letters.splice(1, 2, 'm', 'n', 'l');
, 表示把索引为一的元素往后两个元素替换为 m,n,l
- 比如 :
使用splice添加元素
this.letters.splice(1, 0, 'm', 'n', 'l');
表示从索引为一的位置, 添加’m’, ‘n’, ‘l’
6. sort方法
<body>
<div id="app">
<ul>
<li v-for="item in letters">{{item}}</li>
</ul>
<button @click="btnClick">排序</button>
</div>
<script src="../js/vue.js"></script>
<script>
const app = new Vue({
el: "#app",
data: {
letters: ['a','c','d','b']
},
methods: {
btnClick() {
// 排序
this.letters.sort();
}
}
})
</script>
</body>
7. reverse方法
<body>
<div id="app">
<ul>
<li v-for="item in letters">{{item}}</li>
</ul>
<button @click="btnClick">反转</button>
</div>
<script src="../js/vue.js"></script>
<script>
const app = new Vue({
el: "#app",
data: {
letters: ['a','c','d','b']
},
methods: {
btnClick() {
// 反转
this.letters.reverse();
}
}
})
</script>
</body>
二、数组中不是响应式的方法
1. 通过索引值修改数组中元素
<body>
<div id="app">
<ul>
<li v-for="item in movies">{{item}}</li>
</ul>
<button @click="btnClick">点击</button>
</div>
<script src="../js/vue.js"></script>
<script>
const app = new Vue({
el: "#app",
data: {
movies: ['a', 'b', 'c', 'd']
},
methods: {
btnClick() {
this.movies[0] = 'aa';
console.log(this.movies[0]); // 'aa'
}
}
})
</script>
</body>