在VUE中样式标签的种类非常繁多,今天抽空来整理一下,便于后期记忆\使用.

  1. 表示这是个头标签 ,里面是头信息内容
  2. 表示这是个主体标签,里面写主体内容
  3. 表示这是一个组件的定义,里面存放的是定义组件的内容
  4. 标签用于定义客户端脚本,比如 JavaScript,元素即可以包含脚本语句,也可以通过"src"属性指向外部脚本文件
  5. 表示这里面是添加的样式的标签
  6. {{差值表达式}} 内容为data对象的属性
  7. 是一个块级元素,这意味着它的内容自动地开始一个新行.实际上,换行是


    元素应用class或id属性,但是更常见的情况只应用其中的一种,这两者之间的差异是,class用于元素组(类似的元素,或者可以理解为某一类元素),而id用于标识单独的唯一元素.


8.1

{{AAA}}

插值表达式,渲染之后再进行展示,不会出现大括号形式,要么是空白,要么是已渲染好页面,这样界面更优美


8.2

是以v-clock优化之后的效果展示


8.3 <h3 v-html-“html”>

v-html是指的是以html解析之后的形式进行展现
8.4

{{name}}

v-pre的属性指的是不需要进行处理,跳过渲染过程,跳过VUE的解析
8.5

{{once}}

v-once指的是元素只被解析一次,数据改变,内存当中改变,浏览器的展现不改变

  1. 按钮的名称表示这是一个可以点击的按钮,和button偶尔会结合使用的一个功能.stop,阻止该操作
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>防止冒泡事件练习</title>
	</head>
	<body>
		<div id="app" @click="addNum">
			
			{{num}}
			<button v-on:click.stop="addNum">实现自增方法</button>
			<!-- 简化写法 -->
			<button @click.stop="addNum">自增方法实现</button>
		</div>
		
		<script src="../js/vue.js"></script>
		<script>
			const app = new Vue({
				el:"#app",
				data:{
					num: 100
				},
				methods:{
					addNum(){
						this.num++
					}
				}
			})
		</script>
	</body>
</html>

这里的运行结果是单击一下"自增方法实现"按钮,实现自增+1的操作,防止单击一次,上下两个addNum的方法都执行,这样就可以阻止冒泡事件的发生了.

拓展知识点:事件冒泡(由于操作过程中方法进行了嵌套关系,所以会触发冒泡机制,如果想要阻止冒泡事件,添加.stop方法可阻止冒泡事件)

  1. 跳转到的目标网站名称 这里的a标签表示标签定义超链接,用于从一个页面链接到另一个页面,标签元素最重要的属性是href属性,它指定链接的目标,在所有浏览器中,链接的默认外观如下:未被访问的连接有下划线而且是蓝色的;已被访问的连接带有下划线而且是紫色的;活动链接带有下划线而且是红色的.

可以在后面添加上@click方法这样链接上href属性即可以实现点击跳转的功能实现
<a href=“http://www.baidu.com” @click=“getMessage”>百度 getMessage里面可以添加上需要实现的功能

11.表示这是一个可以输入的输入框

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	
	<body>
		
		<form action="demo_form.php">
		First name:<input type="text" name="fname" /><br />
		Last name: <input type="text" name="lname" /><br />
		<input type="submit" value="提交" />
		</form>
		
		<p>点击"提交"按钮,表单数据将被发送到服务器上的"demo-form"</p>
		
	</body>
</html>

按照菜鸟教程上面的这个案例测试运行一下结果如下:

Vuetemplate标签 vue标签大全_js


标签规定了用户可以在其中输入数据的输入字段,元素在元素中使用,用来声明允许用户输入的input控件,输入字段可以通过多种方式改变,取决于type属性.

标签里面常用的属性name\type\value等,这里面用菜鸟教程写过的小案例来测试一下运行的结果.

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>input框的属性测试案例</title>
	</head>
	<body>
			<form>
				<input type="text" name="username" /><br />
				<input type="submit" value="提交" />
				<input type="button" value="点我" onclick="msg()" />
				<!-- 输入类型:button,定义可以点击的按钮,在用户点击按钮时候启动一段JavaScript -->
				<hr />
				<input type="checkbox" name="vehicle[]" value="Bike"/> 我有一辆自行车<br />
				<input type="checkbox" name="vehicle[]" value="car"/> 我有一辆小轿车<br />
				<input type="checkbox" name="vehicle[]" value="Boat"/> 我有一艘船<br />
				<!-- 输入类型:checkbox,复选框允许用户在一定数量的选择中选取一个或者多个选项 -->
				<hr>
				<input type="color" name="favcolor"/><br />
				<!--输入类型:color 这个功能可以供您从拾色器中选择您喜欢的颜色 -->
				<hr>
				日期:<input type="date" name="bday" />
				<!--输入类型:date 这个功能可以供您选择需要的日期:年月日 -->
				<hr>
				时间(日期和时间):<input type="datetime-local" name="bdaytime" />
				<!--输入类型:datetime 这个功能可以供您选择需要的具体的:年月日时分秒的时间,时间颗粒度更细 -->
				<hr />
				本地时刻(日期和时间):<input type="datetime-local" name="bdaytime" />
				<!-- 输入类型:datetime-local,定义date和time控件(不带时区),和上一个控件注意区分-->
				<hr >
				生日(月和年):<input type="month" name="bdaymonth">
				<!-- 输入类型:month,定义month和year控件(不带时区和具体哪一天) -->
				<hr >
				E-mail: <input type="email" name="useremail" />
				<!-- 输入类型:e-mail,定义用于e-mail地址的字段(当提交表单时候会自动对email字段的值进行验证 -->
				<hr >
				选择一个文件:〈<input type="file" name="img"/>
				<!-- 输入类型:file,定义文件选择字段“浏览...”按钮,供文件上传 -->
				<hr >
				<input type="hidden" name="country" value="Norway" />
				<!-- 输入类型:hidden:定义隐藏字段对于用户是不可见的,隐藏字段常常存储默认值,或者由JavaScript改变它们的值	  -->
				<hr>
				<input type="image" src="./src/小美女.jpg"  alt="Submit"/><br>
				<!-- 输入类型:image,定义图像作为提交按钮 -->
				
				数量(1到5之间):<input type="number" name="quantity" min="1" max="5" />
				<!-- 输入类型:number 定义用于输入数字的字段(您可以设置接收数字的限制) -->
				<hr>
				请您输入密码:<input type="password" name="pwd"/>
				<!-- 输入类型:password定义密码字段(密码字段中的字符会被遮蔽) -->
				<hr />
				您的性别是:<input type="radio" name="gender" value="male" />male
							<input type="radio" name="gender" value="female"/>female
				<!-- 输入类型radio: 允许用户在一定数量的选择中选取一个选项 -->
				<hr />
				您前的颜值等级为(1-10之间):<input type="range" name="points" min="1" max="10"/>
				<!-- 输入类型:range 用于定义精确值不重要的输入数字的控件(比如slider控件).您也可以设置接收数字的限制 -->
				<hr>
				<input type="reset" />
				<!-- 输入类型:reset ,定义重置按钮(重置所有表单值为默认值 -->
				<hr />
				<input type="submit" />
				<!-- 输入类型:submit,定义提交按钮 -->
				<hr />
				请输入您的电话号码:<input type="tel" name="usrtel" />
				<!-- 输入类型:电话号码 用于定义输入电话号码的字段 -->
				<hr>
				选择您的适合时间:<input type="time" name="usr_time"/>
				<!-- 输入类型:time 定义用于输入时间的控件(不带时区) -->
				<hr>
				添加您的主页:<input type="url" :ref="http://www.baidu.com"  name="homepage"/>
				<!-- 输入类型:url 用于定义url输入的字段 -->
				<hr >
				请选择您要标记的周:<input type="week" name="week_year"/>
				<!-- 定义week和year控件(不带时区) -->
			</form>
	</body>
</html>

测试代码运行结果如下图:

Vuetemplate标签 vue标签大全_vue_02


Vuetemplate标签 vue标签大全_js_03


12. 事件处理

我们可以用v-on指令来监听DOM事件,从而执行JavaScript代码.

v-on指令可以缩写为@符号

语法指令:v-on:click="methodName"或者简写为@click=“methodName”

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>事件处理练习</title>
		<script src="https://unpkg.com/vue@next"></script>
	</head>
	
	<body>
		<div id="app">
			<button @click="counter +=1">增加1</button>
			<p>这个按钮被点击了{{ counter }}</p>
		</div>
		
		
		<script>
			const app = {
				data() {
					return {
						counter: 0
					}
				}
			}
			Vue.createApp(app).mount('#app')
		</script>
	</body>
</html>

把代码测试运行一下,得到的运行结果如下:

Vuetemplate标签 vue标签大全_html_04

通常情况下,我们需要使用一个方法来调用JavaScript方法.V-on可以接受一个定义的方法来调用.

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>事件处理练习</title>
		<script src="https://unpkg.com/vue@next"></script>
	</head>
	
	<body>
		<div id="app">
			<button @click="counter +=1">增加1</button>
			<p>这个按钮被点击了{{ counter }}次</p>
			<!-- 'greet'是在下面定义的方法名字 -->
			<button @click="greet">点我</button>
		</div>
		
		
		<script>
			const app = {
				data() {
					return {
						counter: 0,
						name: '测试方法'
					}
				},
				methods:{
					greet(event){
						//'methods'内部的'this'指向当前活动实例
						alert('hello'+this.name+'!')
						//'event'是原生DOM event
						if(event){
							alert(event.target.tagName)
						}
					}
				}
			}
			Vue.createApp(app).mount('#app')
		</script>
	</body>
</html>

测试一下,运行代码结果如下:

Vuetemplate标签 vue标签大全_html_05


除了直接绑定到一个方法,也可以用内联JavaScript语句:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>事件处理练习</title>
		<script src="https://unpkg.com/vue@next"></script>
	</head>
	
	<body>
		<div id="app">
			<button @click="say('hi小美女')">Say hi</button>
			<button @click="say('WOOW小帅哥')">Say WOOW</button>
			
		</div>
		
		
		<script>
			const app = {
				data() {
					
				},
				methods:{
					say(message){
						alert(message)
					}
				}
			}
			Vue.createApp(app).mount('#app')
		</script>
	</body>
</html>

运行的结果如下:

Vuetemplate标签 vue标签大全_javascript_06

Vuetemplate标签 vue标签大全_vue_07


事件处理程序中可以有多个方法,这些方法之间由逗号间隔开来:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>v-on事件处理中多个方法</title>
		<script src="https://unpkg.com/vue@next"></script>
	</head>
	<body>
		<div id="app">
			<!-- 这两个one()和two()执行按钮点击事件 -->
			<button @click="one($event),two($event)">
				点我
			</button>
		</div>
		
		<script>
			const app = {
				data(){
					
				},
				methods: {
					one(event){
						alert("第一个事件处理器逻辑")
					},
					two(event){
						alert("第二个事件处理器逻辑")
					}
				}
			}
			Vue.createApp(app).mount('#app')
		</script>
	</body>
</html>

运行测试代码结果如下:

Vuetemplate标签 vue标签大全_html_08

事件修饰符:

Vue.js为V-on提供了事件修饰符来处理DOM事件细节,例如:event.preventDefault()或者event.stopProgagation().

Vue.js通过由.表示指令后缀来调用修饰符

.stop -阻止冒泡
.prevent -阻止默认事件
.capture -阻止捕获
.selef -只监听触发该元素的事件
.once - 只触发一次
.left -左键事件
.right-右键事件
.middle -中间滚轮事件

<!-- 阻止单击事件冒泡 -->
	<a v-on:click.stop="doThis"></a>
	<!-- 提交事件不再重载页面 -->
	<form v-on:submit.prevent="onSubmit"></form>
	<!-- 修饰符可以串联 -->
	<a v-on:click.stop.prevent="doThat"></a>
	<!-- click事件只能点击一次 -->
	<a v-on:click.once="doThis"></a>

按键修饰符:
Vue允许为V-on在监听键盘事件添加为修饰符,这件可以再按下某个键盘键之后执行某个方法.

<!-- 即使alt或者shift被一同按下时也会触发 -->
	<button @click.ctrl="onClick">A</button>
	
	<!-- 有且只有ctrl被按下的时候才会触发 -->
	<button @click.ctrl.exact="onCtrlClick">B</button>
	
	<!-- 没有任何系统修饰符被按下的时候才会触发 -->
	<button @click.exact="onClick"></button>

来写一个课堂上的小案例测试运行一下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>按键修饰符测试案例练习</title>
	</head>
	<body>
		<div id="app">
			<input type="text" name="name" @keyup.enter="handler1" value="按下回车键有效" />
			<input type="text" name="name" @keyup.left="handler2" value="按下左键有效" />
			<input type="text" name="name" @keyup.space="handler3" value="按下空白键有效" />

		</div>

		<script src="../js/vue.js"></script>
		<script>
			const app = new Vue({
				el: "#app",
				data: {

				},
				methods: {
					handler1() {
						console.log("按键机制触发")
					},
					handler2() {
						console.log("按左键有效")
					},
					handler3() {
						console.log("按下空格键有效")
					}
				}
			})
		</script>
	</body>
</html>

测试代码运行执行效果如下:

Vuetemplate标签 vue标签大全_js_09