Vue:本地应用2-图片切换

v-show指令

根据真假切换元素的显示状态,最终解析为布尔值,值为true显示,值为false隐藏

	<body>
		<div id="app">
			
			<img v-show="isShow" src="https://img2.woyaogexing.com/2022/06/23/679bb455f1e19f60!400x400.jpg" width="100" height="100">
			<img v-show="age>=18" src="https://img2.woyaogexing.com/2022/06/23/679bb455f1e19f60!400x400.jpg" width="100" height="100">
			<input type="button" value="切换显示状态" @click="changIsShow">
			<input type="button" value="增加年龄" @click="add" />
		</div>
	</body>
	<!-- 开发环境版本,包含了有帮助的命令行 警告 -->
	<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
	<script>
       var app = new Vue({
		   el:"#app",
		   data:{
			   isShow:false,
			   age:17
		   },
		   methods:{
			   changIsShow:function(){
				   this.isShow = !this.isShow;
			   },
			   add:function(){
				   this.age++;
			   }
		   },
	   })

	</script>

v-if指令

和v-show差不多

本质是通过dom元素来切换显示状态

表达式的值为true,元素存在于dom中,为false,从dom中移除

频繁切换用v-show(消耗小),

	<body>
		<div id="app">
            <input type="button" value="切换显示状态" @click="toggleIsShow" />
			<p v-if="isShow">tinstu</p>
			<p v-show="isShow">Tinstu</p>
			<h2 v-if="temperature>=35">热死了</h2>
		</div>
	</body>
	<!-- 开发环境版本,包含了有帮助的命令行 警告 -->
	<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
	<script>
       var app = new Vue({
		   el:"#app",
		   data:{
			   isShow:false,
			   temperature:20
		   },
		   methods:{
			   toggleIsShow:function(){
				   this.isShow = !this.isShow;
			   }
		   },
	   })
	</script>

 v-bind指令

设置元素的属性(如:src,title,class )

完整写法 v-bind:属性名 简写 :属性名(冒号+属性名)

	<body>
		<div id="app">
			<img v-bind:src="imgSrc" alt="">
			<br>
			<img :src="imgSrc" :title="imgTitle+'!!!'" :class="isActive?'active':''" @click="toggleActive">
			<br>
			<img :src="imgSrc" :title="imgTitle+'!!!'" :class="{active:isActive}" @click="toggleActive">
			
		</div>
	</body>
	<!-- 开发环境版本,包含了有帮助的命令行 警告 -->
	<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
	<script>
       var app = new Vue({
		   el:"#app",
		   data:{
			  imgSrc:"https://www.baidu.com/img/flexible/logo/pc/result.png",
			  imgTitle:"tinstu.com",
			  isActive:false
		   },
		   methods:{
			   toggleActive:function(){
				   this.isActive = ! this.isActive;
			   }
		   },
	   })
	</script>

图片切换示例

	<body>
		<div id="app">
			<a href="javascript:(0)" v-show="index!=0" @click="prev">上一张</a>
			<br>
			<a href="javascript:(0)" v-show="index<imgArr.length-1" @click="next">下一张</a>
			<br>
			<img :src="imgArr[index]" >
		</div>
	</body>
	<!-- 开发环境版本,包含了有帮助的命令行 警告 -->
	<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
	<script>
       var app = new Vue({
		   el:"#app",
		   data:{
			  imgArr:[
				  "https://img2.woyaogexing.com/2022/06/23/37f29b35e9fbe625!400x400.jpg",
				  "https://img2.woyaogexing.com/2022/06/23/59830ba1c9c6e488!400x400.jpg",
				  "https://img2.woyaogexing.com/2022/06/23/d87d919f912aa8e2!400x400.jpg"
			  ],
			  index:0
		   },
		   methods:{
			   prev:function(){
				  this.index--; 
			   },
			   next:function(){
				   this.index++;
			   }
		   },
	   })
	</script>

 

阅读剩余
THE END