Vue学习记录 内置指令

147 阅读1分钟

1.v-cloak 略····

2.v-once

<p v-once>{{msg}}</p>

在控制台中试图用app.msg =123 修改 msg 的 但是 页面不再改变

3.v-if,v-else,v-else-if 条件渲染指令 Vue在渲染元素时,出于效率考虑,会尽可能复用已有的元素而非重新渲染

解决方法 加key 加key可以来决定是否复用元素

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>条件渲染</title>
	<style>

	</style>
</head>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>	
<body>
	<div id="app">
		<div  v-if="type==='name'">
			用户名:<input type="text" placeholder="请输入" key="name">
		</div>
		<div v-else>
			密码:<input type="password" placeholder="输入密码" key="passWord">
		</div>
		<button @click="toggleType">点我啊</button>
	</div>
</body>
<script>
	var app = new Vue({
		el:'#app',
		data:{
		},
		methods:{
			toggleType:function(){
				this.type= (this.type==='name'?'password':'name')
			}
		}
	})
</script>
</html>
  1. 列表渲染指令 v-for

在data中声明一个数组,数组中创建多个对象 再在页面中循环渲染出 在v-for中可以获得的索引

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>条件渲染</title>
	<style>

	</style>
</head>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>	
<body>
	<div id="app">
		<ul>
			<li v-for="f in fn">{{index}}---{{f.name}}</li>
		</ul>
		<ul>
			<li v-for="(g,index) in girl">{{index}}----{{g}}</li>
		</ul>
	</div>
</body>
<script>
	var app = new Vue({
		el:'#app',
		data:{
			fn:[
			{name:'thinking'},
			{name:'pratice'},
			{name:'listen'}
			],
			girl:{
				1:'高圆圆',
				2:'桥本环奈',
				3:'amier'
			}
		},

	})
</script>
</html>