具体的就是点击这个排序,后面的箭头换张向上的图片,再次点击换回来,又变成这个向下的图片,用Vue该怎么写呀?
补充:具体的道理我都明白,是做个判断,但是具体的代码实现,还是遇到了一些问题,劳烦大佬给实现的代码也写出来吧!拜托了
具体的就是点击这个排序,后面的箭头换张向上的图片,再次点击换回来,又变成这个向下的图片,用Vue该怎么写呀?
补充:具体的道理我都明白,是做个判断,但是具体的代码实现,还是遇到了一些问题,劳烦大佬给实现的代码也写出来吧!拜托了
<template>
<div>
<button @click="showIcon = !showIcon">排序</button>
<i :class="`icon ${showIcon ? 'up' : 'down'}`"></i>
</div>
</template>
data () {
return {
showIcon: false
}
}
希望帮助到你
我觉得这种方法更灵活些,楼主觉得呢?这也是很多轮播图常用的逻辑
<template>
<div>
<img :src="imgSrc" @click="toggleImg"/>
</div>
</template>
<script>
export default {
data() {
return {
bgImg: ['../a.jpg', '../b/jpg'],
imgIndex: 0
}
},
computed: {
imgSrc() {
//计算图标地址
return bgImg[this.imgIndex]
}
},
methods: {
toggleImg() {
this.imgIndex = (this.imgIndex + 1) % (this.bgImg).length
}
}
}
</script>
template标签里写两个<div v-on:click="arrowChange"><img src="up.png" v-show="isup"><img src="down.png" v-show="!isup"></div>,data里定义isup的值为true,methods里添加arrowChange:function(){this.arrowChange=!this.arrowChange},就可以了
<img src="向上的箭头" v-show="showUpImg" @click="changeImg">
<img src="向下的箭头" v-show="!showUpImg" @click="changeImg">
//设置一个变量标识
data(){
return{
showUpImg:true
}
}
//方法
methods{
changeImg:function(){
this.showUpImg = !this.showUpImg
}
}
5 回答7.1k 阅读✓ 已解决
5 回答8.2k 阅读
2 回答10.3k 阅读✓ 已解决
2 回答12.6k 阅读✓ 已解决
2 回答10.4k 阅读✓ 已解决
1 回答5.1k 阅读✓ 已解决
4 回答6.1k 阅读
其实是不建议你这么换图片的,可以用css写个动画让图片旋转180°,还有就是多看看官方的文档,这些都是很基础的一些知识vue官网