Vue常用指令介绍

Vue指令:

指令带有前缀 v- 开头,以表示它们是 Vue 提供的特殊属性。

v-text,v-html:

html:

html 复制代码
		<div id="ddd">
			
			<!-- 
				{{插值表达插入变量,不会覆盖标签体中的内容}}
				v-text,v-html会覆盖掉标签体中的内容
				v-text会把内容当作文本处理
				v-html会把内容当作html内容处理,可以解析标签
			 -->
			
			<p>{{msg}} vue {{a}}</p>
			<!-- <b>你好<b> vue -->
			<p v-text="msg">vue</p>		
			<!-- <b>你好<b> -->
			<p v-html="msg">vue</p>
			<!-- 你好 -->
			
		</div>

js:

js 复制代码
		<script>
		
			var msg="abc";
			//new Vue对象
			var ddd=new Vue({
				el:'#ddd',	//将id为app的标签与vue对象进行绑定
				data:{	//data中用来定义与标签进行双向绑定的数据,可以定义多组的
					msg:"<b>你好<b>",
					a:10	//无分号
				}
			})
		
		</script>
v-model:

html:

html 复制代码
		<div id="ddd">
			
			<!--
				v-model可以将输入框的value与vue中数据进行绑定,
				当输入框值发生改变时,自动更新到数据中
			 -->
			
			<p> {{msg}} </p>
			<input type="text" v-model="msg"/>
		</div>

js:

js 复制代码
		<script>
		
			var msg;
			var ddd=new Vue({
				el:"#ddd",
				data:{
					msg:"vmodel"
				}
			})
		
		</script>
v-bind:

html:

html 复制代码
		<div id="ddd">
			
			<!--
				作用是为元素绑定属性
				完整写法是 v-bind:属性名
				简写的话可以直接省略 v-bind,只保留:属性名
			 -->
			
			<img v-bind:src="img">
			<img :src="img">
			<img :src="img" title="这是一个图片">
			
		</div>

js:

js 复制代码
		<script>
		
			var msg;
			var ddd=new Vue({
				el:"#ddd",
				data:{
					img:"../img/1.jpg"
				}
			})
		
		</script>
v-bind v-on:

html:

html 复制代码
		<div id="app">
			
				<!-- 为class属性动态添加取消样式 -->
				<img :src="img" :title="title" v-bind:class="{imgcss:isActive}">
				
				
				<!-- v-on 为标签添加事件 -->
				<input type="button" value="改变1"	v-on:click="test1()">
				<input type="button" value="改变2"	@click="test2()">

		</div>

css:

css 复制代码
		<style>
			.imgcss{
				width: 100px;
				height:	100px;
			}
		</style>

js:

js 复制代码
		<script>
		
			var app=new Vue({
				el:'#app',
				data:{
					img:"../img/1.jpg",
					title:"a",
					isActive:false
				},
				methods:{	//定义函数 可以在函数中使用this关键字访问data中的数据
					test1(){
						this.isActive=false;
						this.title="改变1";
					},
					test2(){
						this.isActive=true;
						this.title="改变2";
					}
				}
			})
		
		</script>
v-if:

html:

html 复制代码
		<div id="ddd">
			
			<!--
				v-if v-show 都可以控制标签显示或隐藏
				v-if 隐藏标签时,直接将标签冲网页中删除了
				v-show 隐藏标签时,只是改变了标签的display值
			 -->
			
			<img :src="img" v-if="isshow"/>
			<hr>
			<img :src="img" v-show="isshow"/>
			<input type="button" value="操作" v-on:click="oper()"/>
			
		</div>

js:

js 复制代码
		<script>
		
			var ddd=new Vue({
				el:'#ddd',
				data:{
					img:"../img/1.jpg",
					isshow:false
				},
				methods:{
					oper(){
						this.isshow=true;
					}
				}
			})
		
		</script>

生命周期:

每个 Vue 实例在被创建时都要经过一系列的初始化过程------例如,需要设置数 据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。同时 在这个过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添 加自己的代码的机会。

js 复制代码
		var ddd=new Vue({
			el:'#ddd',
			data:{
				img:"../img/1.jpg",
			},
			methods:{
				oper(){
					
				}
			},
			// vue对象的生命周期钩子函数,在生命周期的每个阶段提供一个函数
			// 供我们执行某些需要的操作
			beforeCreate(){
				console.log("vue对象创建之前");
			},
			created(){
				console.log("vue对象创建完成");
			},
			beforeMount(){
				console.log("对象与标签绑定之前");
			},
			mounted(){
				console.log("vue对象与标签绑定之后");
				// 常用,当vue对象创建成功,与标签绑定成功之后执行我们想要的操作
				// 类似于之前的onload事件
			}
		})
相关推荐
kyriewen8 小时前
我手写了一个 EventEmitter,面试官追问了 6 个问题——第 4 个我没答上来
前端·javascript·面试
IT_陈寒8 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
山河木马9 小时前
矩阵专题2-怎么创建视图矩阵(uViewMatrix)
javascript·webgl·计算机图形学
小林攻城狮9 小时前
使用 Transport 节流解决 Vercel AI SDK 流式渲染卡死问题
前端·react.js
前端缘梦9 小时前
告别 TS 运行时类型漏洞!Zod 完整入门实战教程(前端 / 全栈必备)
前端·react.js·全栈
the_answer9 小时前
Webpack vs Vite 深度对比分析
前端·webpack
转转技术团队9 小时前
验证码识别实战:前端不写页面,改训模型了?
前端
MomentYY9 小时前
Temperature:AI 的“脑洞旋钮”
前端·llm·ai编程
远航_10 小时前
OpenSpec 完整详细介绍
前端·后端
召钱熏10 小时前
状态枚举正确≠渲染正确:一个语音按钮的状态机边界修复实录
android·前端