VueDay02 用v-if和v-show實現的一個簡單的tab切換


v-if實現tab切換代碼如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<!-- view -->
		<div id="app">
			<h3 v-if="tab==1">首頁</h3>
			<h3 v-else-if="tab==2">新聞頁</h3>
			<h3 v-else>個人中心</h3>
			<button @click="tabChange" data-id="1" type="button">首頁</button>
			<button @click="tabChange" data-id="2" type="button">新聞</button>
			<button @click="tabChange" data-id="3" type="button">個人</button>
		</div>
		<div id="app-3">
			<p v-if="seen">現在你看到我了</p>
		</div>
		<script type="text/javascript">
			let app =new Vue({
				el:"#app",
				data:{
					tab:1		
				},
				methods:{
					tabChange:function(e){
						console.log(e)
						let tabid = e.target.dataset.id
						console.log(this)
						console.log(app)
						app.tab = tabid
						// this.tab = tabid
					}
				},
			})
			var app3 = new Vue({
				el:'#app-3',
				data:{
					seen:true
				}
			})
		</script>
	</body>
</html>

 v-show實現tab切換代碼如下: 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<!-- view -->
		<div id="app">
			<h3 v-show="tab==1">首頁</h3>
			<h3 v-show="tab==2">新聞頁</h3>
			<h3 v-show="tab==3" >個人中心</h3>
			<button @click="tabChange" data-id="1" type="button">首頁</button>
			<button @click="tabChange" data-id="2" type="button">新聞</button>
			<button @click="tabChange" data-id="3" type="button">個人</button>
		</div>
		<div id="app-3">
			<p v-if="seen">現在你看到我了</p>
		</div>
		<script type="text/javascript">
			let app =new Vue({
				el:"#app",
				data:{
					tab:1		
				},
				methods:{
					tabChange:function(e){
						// console.log(e)
						let tabid = e.target.dataset.id
						// console.log(this)
						// console.log(app)
						// app.tab = tabid
						 this.tab = tabid
					}
				},
			})
			var app3 = new Vue({
				el:'#app-3',
				data:{
					seen:true
				}
			})
		</script>
	</body>
</html>

  這里還是用v-show,涉及到來回的渲染頁面,用v-show比用v-if好

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM