Vue.js语法模板

  • 文本插值Mustach(可在{{}}进行+连接,*数乘)
	<body>
		<div id="app">{{message}}</div>
	</body>
	<script>
		//定义变量:let(变量)/const(常量)
		const app=new Vue({
			el:"#app",//用于挂载要管理的元素
			data:{//定义数据
				message:'hello'
			}
		})
	</script>
  • v-html
<div id="app">
	<div v-html="message"></div>
</div>

<script>
	new Vue({
		el:'#app',
		data:{
			message:'<h1>my教程</h1>'
		}
	})
</script>
  • v-bind
    判断class1的值,如果为true使用class1类的样式,否则不使用该类:
<div id="app">
	<label for="r1">修改颜色</label>
	<input type="checkbox" v-model="use" id="r1">
	<div v-bind:class="{'class1':use}">
		v-bind:class 指令
	</div>
</div>
<script>
new Vue({
	el:'#app',
	data:{
		use:false
	}
});
</script>
  • 表达式:提了javascript表达式支持
<div id="app">
	{{5+5}}<br>
	{{ok?'YES':'NO'}}<br>
	{{message.split('').reverse().join('')}}
	<div v-bind:id="'list-'+id">my教程</div>
</div>
<script>
	new Vue({
		el:'#app',
		data:{
			ok:true,
			message:'RUNOOB',
			id:1
		}
	})
</script>
  • 指令
    指令是带有v-前缀的特殊属性,用于在表达式的值改变时,将某些行为应用到DOM上
<div id="app">
	<p v-if="seen">现在你看到我了</p>//v-if指令根据seen的值决定是否插入p
</div>
<script>
new Vue({
	el:'#app',
	data:{
		seen:true
	}
})
</script>
  • 参数
    参数在指令后以冒号指明。如:v-bind用于响应地更新HTML属性
<div id="app">
	<pre><a v-bind:href="url">my</a></pre>
	<a v-on:click="dosomething></a>
</div>
<script>
	new Vue({
		el:'#app',
		data:{
			url:'http'
		}
	})
</script>
  • 用户输入
    在Input输入框中我们可以使用v-model指令来实现双向数据绑定
<div id="app">
	<p>{{message}}</p>
	<input v-model="message">
</div>
<script>
	new Vue({
		el:'#app',
		data:{
			message:'Runoob!'
		}
	})
</script>

v-model指令用来在 input、select、textarea、checkbox、radio 等表单控件元素上创建双向数据绑定,根据表单上的值,自动更新绑定的元素的值。

  • 过滤器
    在两个大括号中:
    {{message|capitalize}}
    在v-bind指令中:
<div id="app">
	{{message|capitalize}}
</div>
<script>
	new Vue({
		el:'#app',
		data:{
			message:'runoob'
		},
		filters:{
			capitalize:function(value){
				if(!value) return ''
				value=value.toString
				return value.charAt(0).toUpperCase()+value.slice(1)
				}
			}
		}
	})
</script>
  • v-for:创建列表
<div id="list">
		<ul>
			<li v-for="item in movies">{{item}}</li>
		</ul>
</div>

<script>
		const list=new Vue({
			el:"#list",
			data:{
				movies:['QQ','VX','WB']//数组
			}
		})
</script>
发布了21 篇原创文章 · 获赞 0 · 访问量 332

猜你喜欢

转载自blog.csdn.net/weixin_44225940/article/details/104104743