使用对象以及数组对class进行操作
对象语法
html >>>>>> <div :class="{ccc:isClass}"></div>
<div :class="{ccc:isClass,bbb:!isClass}"></div>
<div class="aaa" :class="{ccc:isClass,bbb:!isClass}"></div>
<div class="aaa" :class="{getcla()}"></div>
script >>>>>> methods:{
getcla(){
return {ccc:this.isClass,bbb:!this.isClass};
},
数组语法
html >>>>>> <div class="aaa" :class="[变量名,'字符串']"></div>
<div class="aaa" :class="{getcla()}"></div>
script >>>>>> methods:{
getcla(){
return [this.isClass,'Class'];
},
js添加
this.getcla.push("123");
this.getcla.push("123","456","789");
js修改
this.getcla[0] = "w" 不是响应式的
Vue.set(this.getcla,0,"sadf"); 是响应式的,但可能有问题所以推荐用下面的那些
.pop() 删除最后一个元素
.shift() 删除第一个元素
.unshift() 在第一个元素之前添加
.splice(从哪一个开始【,删除几个,替换的东西】)
~~~~~~只写一个是删除哪一位后面的所有元素
~~~~~~第二个写 0 是不删,然后插入字符
如
ff["q","w","e"]
ff.splice(1,1,"s","d","f")
从第二个开始删除一个,然后再添加三个字符
q s d f e
.sort() 排序
1 5 6 4 3 2 》》》》》》1 2 3 4 5 6
a b c e d f 》》》》 a b c d e f
.reverse() 将数组元素掉一个头,反过来
1 2 3 4 5 6>>>>>>>6 5 4 3 2 1
高阶函数
1. 数组.filter(function(n){ return cc; })
筛选出符合条件的元素,然后返回一个新数组
computed: {
chongFuBenShu(){
console.log("以调用chong");
let cc = this.server01.filter(function(n){
return n.shu>=2;
});
console.log(cc);
return cc;
}
server01[5,1,1,2,3,4,5,1,1,1,1] >>>>>>>> cc[5,2,3,4,5]
2. 数组.map(function(n){return cc; })
对内部数据进行处理,然后返回一个新数组
daZhe(){
console.log("d打折");
let cc = this.server01.map(function(n){
n.shu =n.shu*2;
return n;
});
console.log(cc);
、
return cc;
}
3. 数组.reduce(function(p , n){ return p + n.shu; },0);
0是初始p 的值, 然后p 是上一次循环遍历返回的值
类似于汇总,然后返回一个值,返回的不是一个数组
huiZong(){
console.log("汇总");
let cc = this.server01.reduce(function(p , n){
return p + n.shu;
},0);
console.log(cc);
return cc;
}
p (上一次return的值) n return(p+n)
0(初始化的)) 1 1
1 2 3
3 3 6
6 4 10
若在函数内部给n进行· n = n+1;类似的的操作时会影响原本的那个数组;