uniapp中布局style绑定js数据
<view class="bg-img"
v-for="(item,index) in avatar"
:key="index"
:>
</view>
以下内容为⼀些特别的操作⽅式
1、两个三元运算符嵌套
//两个三元运算符嵌套
return this.height =='auto'?'auto':String(this.height).indexOf('%')!=-1?this.height :this.height +'rpx';
2、打乱数组,实现随机重排数组元素
methods:{
autoSort:function(a,b){
//⽣成随机数跟0.5⽐较,实现打乱数组的⽬的
return Math.random()>=0.5?1:-1;
},
getCitys:function(){
let temArr =this.citys.sort(this.autoSort);
console.log(temArr)
let data =JSON.parse(JSON.stringify(temArr));
console.log(data[0])
this.sortCitys =at(data);
console.log(this.sortCitys[0])
console.log(this.sortCitys[1])
}
}
3、计算属性随机⽣成颜⾊
computed:{
//单个标签的背景颜⾊随机⽣成
indexof的用法javascriptrandomColor(){
return(index)=>{
let R=this.$u.random(0,255);
let G=this.$u.random(0,255);
let B=this.$u.random(0,255);
let bgColor ={backgroundColor:`rgba(${R}, ${G}, ${B}, 0.6)`};
return bgColor;
}
}
}
4、巧妙地⽤filter结合indexof实现去重
let arr1 =[1,2,3,4,5,6,7,8,2,3,4,5,6,7]
let newArr = arr1.filter(function(item, i, self){
let a = self.indexOf(item)
console.log(`item----${item},self.indexOf(item)---${a},i----${i}`)
return self.indexOf(item)=== i;//例如匹配到了第8个元素,item=2,i=8,self.indexOf(item)返回的是第⼀个‘2’,下标也就是1,不等于8,函数return fal se,达到了去重的⽬的
//去除重复元素依靠的是indexOf总是返回第⼀个元素的位置,后续的重复元素位置与indexOf返回的位置不相等,因此被filter滤掉了。
});
console.log(newArr)//[1, 2, 3, 4, 5, 6, 7, 8]
5、这部分的代码,避免了num>0之后对showNum==true的重新赋值,只需要简单的判断即可
//这部分的代码,避免了num>0之后对showNum==true的重新赋值,只需要简单的判断即可if(this.num >0){
if(!this.show){this.num ++}else{this.num --}
if(this.num <=0){this.showNum =false}
}else{
if(!this.show){this.num ++}
if(this.num >0){this.showNum =true}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。