VUE_模板语法

1 指令

1.1 v-bind,绑定属性

语法示例如下:

<!-- 完整语法 -->
<a v-bind:href="url">...</a>

<!-- 缩写 -->
<a :href="url">...</a>

<!-- 动态参数的缩写 (2.6.0+) -->
<a :[key]="url"> ... </a>

代码示例如下

<div id="app">
	<a :href="url">a标签</a>
</div>
<script src="../vue.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
    let vm = new Vue({
  	  el: '#app',
  	  data:{
  	 	 url: 'https://www.baidu.com'
   	 }
    });
</script>

1.2 v-on,绑定事件

语法示例如下:

<!-- 完整语法 -->
<a v-on:click="doSomething">...</a>

<!-- 缩写 -->
<a @click="doSomething">...</a>

<!-- 动态参数的缩写 (2.6.0+) -->
<a @[event]="doSomething"> ... </a>

代码示例如下:

<div id="app">
	<button type="button" @click="count++"> click this {{count}} times</button>
</div>
<script src="../vue.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
let vm = new Vue({
    el: '#app',
    data:{
        url: 'https://www.baidu.com',
        count: 0
    }
    });
</script>

1.3 v-if,v-else,条件渲染

代码示例如下:

<div id="app">
	<p v-if="hah">hah</p>
	<p v-else>no hah</p>
</div>
<script src="../vue.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
	let vm = new Vue({
		el: '#app',
		data:{
			hah: true
		}
	});
</script>

2.1.0 新增

v-else-if,顾名思义,充当 v-if 的“else-if 块”,可以连续使用:

1.4 v-for,列表渲染

代码示例如下:

<div id="app">
	<li v-for="item of items">
		{{ item.message }}		
	</li>
</div>
<script src="../vue.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
	let vm = new Vue({
		el: '#app',
		data:{
			items:[
				{
					message: 'abc'
				},
				{
					message: 'def'
				}
			]
		}
	})
</script>


2 计算属性

详见:https://cn.vuejs.org/v2/guide/computed.html

计算属性是基于它们的响应式依赖进行缓存的。每当触发重新渲染时,调用方法将总会再次执行函数。

代码示例如下:将message 反转输出

<div id="app">
	<p>
		{{ message }}
	</p>
	<p>
		{{ change_message }}
	</p>
</div>
<script src="../vue.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
	let vm = new Vue({
		el:'#app',
		data:{
			message: 'This is a message'
		},
		computed:{
			change_message:function(){
				return this.message.split('').reverse().join('');
			}
		}
		
	});
</script>

3 Vue Loader - - - 单文件组件规范

模板代码示例:

<template>
  <div class="example">{{ msg }}</div>
</template>

<script>
export default {
  data () {
    return {
      msg: 'Hello world!'
    }
  }
}
</script>

<style>
.example {
  color: red;
}
</style>

模板解析

  1. template标签内时HTML内容
  2. style标签内时CSS内容
  3. script标签内是js内容,它的默认导出应该是一个 Vue.js 的[组件选项对象]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值