Vue2.x指令

Vue 对于一些常用的页面功能进行了指令封装,这些指令可以以Html元素属性的方式使用。

1.v-show指令

v-show指令的作用是:根据指令中表达式的真假,来控制指令标签中内容的显示或隐藏。

<!-- dom对象:一个大的容器来使用我们的vue中的数据与方法 -->
		<div id="app">
			<!-- Vue的指令 :有很多指令,操作控制dom元素
			 指令1:v-show:根据v-show的值(boolean类型)控制元素是否显示 display:none
			 -->
			 <h1 v-show="b1">true</h1>
			 <h1 v-show="b2">false</h1>
			 <h1 v-show="num>=2">{{num}}</h1>
		</div>
		 
		<script>
			//创建Vue实例对象,相当于java中的有参构造{}
			var app = new Vue({
				//要绑定的页面元素
				el:"#app",
				data:{
					num:1,
					b1:true,
					b2:false
				}
			})
		</script>

使用浏览器打开代码:显示效果如下图所示,
从图中可以看出,内容为true的标签因为其中v-show指令的值为true,所以显示了出来,其它条件判断语句的结果为false,所以并没有显示出来。
F12打开开发者工具,选择元素(elements)窗口,从中可以看到值 为false的标签在渲染时通过添加css 样式被隐藏了起来。
在这里插入图片描述
切换到控制台(Console)窗口,在其中输入语句"app.num = 2"来改变num的值,浏览器显示效果如下
在这里插入图片描述
elements元素显示效果,可以看到,在判断语句值变为false后,该标签通过改变css 样式而显示了出来
在这里插入图片描述

2.v-bind指令

v-bind指令的作用是:用于响应式的更新html元素的属性。
例如:

		<div id="app">
			<!-- Vue的指令:有很多指令,操作控制dom元素
			 指令2:v-bind:动态绑定html的属性,可以简写为冒号  “:”
			 -->
			 <!--将img的属性src与Vue实例中imgUrl的值绑定,这样才可以显示图片,超链接同样-->
			 <img :src="imgUrl">
			 <a v-bind:href="url">百度</a>
		</div>
		
		<script>
			//创建Vue实例对象,相当于java中的有参构造{}
			var app = new Vue({
				//要绑定的页面元素
				el:"#app",
				data:{
					url:"http://www.jd.com",
					imgUrl:"test.png"
				}
		</script>

3.v-for指令

v-for指令的作用是:循环遍历一个数组或对象,将数组或对象中的数据在页面上渲染成一个列表

3.1v-for 遍历数组

(item,index) in items

其中items是被遍历的数组,item是被迭代的数组元素的别名,in分隔,index当前项的索引,v-for遍历数组的示例代码如下

<body>
		<!-- dom对象:一个大的容器来使用我们的vue中的数据与方法 -->
		<div id="app">
		<!-- Vue的指令:有很多指令,操作控制dom元素
		 指令1:v-for:用来遍历数组或者对象
		 stus 是被遍历的数组,stu数组中的数组元素的别名,in分隔符,index 当前项的索引
		 -->
		 <ul>
		 	<li v-for="(stu,index) in stus">{{index}}-{{stu.name}}</li>
		 </ul>
		</div>
		
		<script>
			//创建Vue实例对象,相当于java中的有参构造{}
			var app = new Vue({
				//要绑定的页面元素
				el:"#app",
				data:{
					/* 存储很多个学生对象的数组 */
					stus:[
						/*学生对象 */
						{name:"liqishuai"},
						{name:"zhangyao"},
						{name:"kongqingjie"},
						{name:"xxx"}
					]
				}
			})
		</script>
	</body>

使用浏览器打开代码,显示效果如下
在这里插入图片描述

3.2数组更新检测

数据与视图的双向绑定是Vue的核心功能之一,为了监听数组中元素的变化,使其变化时能够快速更新视图,Vue对数组的下列变异方法进行了包装:push()、pop()、shift()、unshift()、splice()、sort()和reverse()
使用浏览器打开代码3.1,F12打开开发者工具并切换到控制台(Console)窗口,输入push语句,为stus数组对象新增一个学生,语句代码如下

app.stus.push({name:'liuzhen'})

语句效果如图所示
在这里插入图片描述

4.v-model指令

v-model 指令的作用是:双向数据绑定,只能用于input、textarea、select元素上。v-model 通过监听用户的输入来更新数据
v-model的使用方式如下所示:

<body>
		<!-- dom对象:一个大的容器来使用我们的vue中的数据与方法 -->
		<div id="app">
		<!-- Vue的指令:有很多指令,操作控制dom元素
		 指令1:v-model :双向数据绑定,只能是input、textarea、select 
		 -->
			<input type="text" v-model="num"><br>
			<textarea v-model="num"></textarea>
			<select v-model="num">
				<option value="0">0</option>
				<option value="1">1</option>
				<option value="2">2</option>
			</select>
			num的值为:{{num}}
		</div>
		
		<script>
			//创建Vue实例对象,相当于java中的有参构造{}
			var app = new Vue({
				//要绑定的页面元素
				el:"#app",
				data:{
					num:1
				}
			})
		</script>
	</body>

使用浏览器打开代码:在文本框中输入数据2,文本域,下拉框中的值、num渲染的值一起变化,或者选择下拉框中的选项,其它的对应的组件的值也会随之发生改变==》数组双向绑定
在这里插入图片描述

5.v-on指令

v-on指令的作用是:用于监听DOM事件,并在触发事件时执行一些js代码。v-on接收一个参数,在指令名称之后以冒号表示。例如使用v-on监听click事件,代码如下所示

<button v-on:click="方法名()"></button>

以上代码中click是参数,告知v-on指令,当按钮触发click 事件后执行方法,v-on:click指令也可简写为"@click"

<body>
		<!-- dom对象:一个大的容器来使用我们的vue中的数据与方法 -->
		<div id="app">
		<!-- Vue的指令:有很多指令,操作控制dom元素
		 指令1:v-on:监听button,当button 点击 时,触发绑定事件,再由事件驱动方法,执行对应的操作
		 v-on:可以简写为@
		 -->
			<button @click="gaiBianNum(1)">+</button>
			num的值为:{{num}}
			<button v-on:click="gaiBianNum(-1)">-</button>
		</div>
		
		<script>
			//创建Vue实例对象,相当于java中的有参构造{}
			var app = new Vue({
				//要绑定的页面元素
				el:"#app",
				data:{
					num:1
				},
				methods:{
					//声明一个方法
					gaiBianNum(i){
						//num+i
						/* this指向的是Vue的实例对象app */
						this.num = this.num+i;
					}
				}
			})
		</script>
	</body>

打开浏览器运行代码效果如下,点击“+” num的值会+1,点击“-” num的值 会-1
在这里插入图片描述

相关推荐

  1. 学习Vue2.x

    2024-04-03 23:08:01       61 阅读
  2. vue2指令

    2024-04-03 23:08:01       34 阅读
  3. vue2指令

    2024-04-03 23:08:01       27 阅读
  4. 01.Vue2.x初始Vue

    2024-04-03 23:08:01       36 阅读
  5. Vue2 基础一指令

    2024-04-03 23:08:01       36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-03 23:08:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-03 23:08:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-03 23:08:01       82 阅读
  4. Python语言-面向对象

    2024-04-03 23:08:01       91 阅读

热门阅读

  1. pip install PyQt5 ssl error

    2024-04-03 23:08:01       38 阅读
  2. Python实战:打造学生信息管理系统

    2024-04-03 23:08:01       35 阅读
  3. PostCSS及其常用插件介绍

    2024-04-03 23:08:01       29 阅读
  4. 【python】网络爬虫——Scrapy

    2024-04-03 23:08:01       37 阅读
  5. 【CSS】选择器

    2024-04-03 23:08:01       39 阅读
  6. 【CSS】高级元素:列表、表格、表单

    2024-04-03 23:08:01       38 阅读
  7. day16-二叉树part03

    2024-04-03 23:08:01       32 阅读