4、模板语法

渲染文本

默认情况下,修改变量的值元素里面的变量值也会随之更改,比如
<div id="app">
			<div>{{message}}</div>
		</div>
		
		<script>
			var data = {
				message:"hello vue"
			};
			var vm = new Vue({
				"el":"#app",
				data:data
			});
			
			vm.message = "update hello vue";
		</script>

此时输出的值是: update hello vue。
如果希望输出的是hello vue的话,只需要加上v-once即可。如下:

<div id="app">
			<div v-once>{{message}}</div>
		</div>
		
		<script>
			var data = {
				message:"hello vue"
			};
			var vm = new Vue({
				"el":"#app",
				data:data
			});
			
			vm.message = "update hello vue";
		</script>

此时输出的值是:hello vue

渲染html

默认情况下,vue将数据解释为文本类型,如下:

<body>
		<div id="app">
			<div>{{html}}</div>
		</div>
		
		<script>
			var data = {
				html:"<span style='color:red'>abc</span>"
			};
			var vm = new Vue({
				"el":"#app",
				data:data
			});
		</script>
	</body>

输出的是:<span style='color:red'>abc</span>
如果希望以html标签形式输出的话,可以通过v-html设置

<body>
		<div id="app">
			<div v-html="html"></div>
		</div>
		
		<script>
			var data = {
				html:"<span style='color:red'>abc</span>"
			};
			var vm = new Vue({
				"el":"#app",
				data:data
			});
		</script>
	</body>

此时输出的就是:abc,在浏览器上用F12查看样式的话,该div会被解析成

<div id="app">
	<div>hello vue</div> 
	<div><span style="color:red">abc</span></div> 
	<div>&lt;span style='color:red'&gt;abc&lt;/span&gt;</div></div>

v-on缩写

		<a v-on:click="eventName"></a>
		<a @click="eventName"></a>
		<a @[event]="eventName"></a>
<body>
		<div id="app">
			<!--单击事件-->
			<div v-on:click="clickMe">点击我</div>
			<div @click="clickMe">点击我</div>
			<div @[event]="clickMe">点击我</div>
		</div>
		
		<script>
			var data = {
				message:"hello vue",
				event:"click",
				html:"<span style='color:red'>abc</span>"
			};
			var vm = new Vue({
				"el":"#app",
				"data":data,
				"methods":{
					clickMe:function() {
						console.log(this);
					}
				}
			});
		</script>
	</body>

v-bind缩写

<a v-bind:href="url"></a>
<a :href="url"></a>
<a :[key]="url"></a>

示例:

<body>
		<div id="app">
			<!--v-bind缩写-->
			<a v-bind:href="url">url</a>
			<a :href="url">url</a>
			<a :[key]="url">url</a>
		</div>
		
		<script>
			var data = {
				url:"https://baidu.com",
				key:"href"
			};
			var vm = new Vue({
				"el":"#app",
				"data":data
			});
		</script>
	</body>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值