欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

vue初级快速入门

程序员文章站 2022-06-06 19:54:52
...

vue介绍

Vue.js是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。它不仅易于上手,还便于与第三方库或既有项目整合。
官网:vue官网上面有vue.js的下载 还有教学视频 但是代码没注释 讲的又很快 不适合后端新手入门 我下面会写的非常详细 适合新手掌握vue

vue快速入门

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>快速入门</title>
		<script src="js/vuejs-2.5.16.js"></script>
	</head>
	<body>
		<div id="app">
			{{message}}	//这个叫做插值表达式
		</div>
	</body>
	<script>
		new Vue({
			el:'#app',//表示当前vue对象接管了div区域
			data:{
				message:'这里输入的内容就是给上面的message赋的值'//注意不要写分号结尾
			}
		})
	</script>
</html>

vue常用系统指令

ps:指令由很多,这里我就总结一下我觉得最基本且必须要掌握的指令,后面的代码就省去HTML的头和js的导入.
1.v-on (可以简写为@)
可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码

<body>
		<div id="app">
			{{message}}  
			<button v-on:click="fun('这是使用vue绑定的点击事件')">vue的onclick</button>//v-on:click 可以简写为@click
		</div>
	</body>
	<script>
		//view model
		let vue = new Vue({//let vue可以写成Var vue ,let是JavaScript6版本以后推荐使用的
			el:'#app',
			data:{
				message:'点我'
			},
			methods:{
				fun:function(msg){
					vue.message = msg;
					//上面如果不写let vue 的话 这边可以写为this.message=msg
				}
			}
		})
	</script>

2.v-bind(可以简写为:)
插值语法不能作用在 HTML 标签里面的特性上,遇到这种情况应该使用 v-bind指令.

<body>
		<div id="app">
			<font v-bind:color="color1">请你支持我!</font>		
			<font :color="color2">你的支持是我更新的动力!</font>	//v-bind:color可以简化成:color
		</div>
	</body>
	<script>
		//view model
		new Vue({
			el:"#app",
			data:{
				color1:"red",
				color2:"blue"
			}
		})
	</script>

3.v-text和v-html
这个标签比较简单,不算常用,但我觉得你应该知道,简单来说v-html会解析HTML语法,而v-text就是普通文本了

	<body>
		<div id="app">
			<div v-html="message"></div> //页面输出为 helloworld
			<div v-text="message"></div> //页面输出为<h1>helloworld</h1>
		</div>
	</body>
	<script>
		//view model
		
	new Vue({
		el:'#app',
		data:{
			message:"<h1>helloworld</h1>"
		}
	})
	</script>

4.v-model(vue最重要标签 没有之一)
ps:划重点,注意了!!!
Vue.js 遵循了 MVVM(Model-View-ViewModel)的思想,MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(Model),Vue.js 是一个提供了 MVVM 风格的双向数据绑定的 Javascript 库,专注于View 层。它的核心是 MVVM 中的 VM,也就是 ViewModel。(好像有点抽象,那就看下面代码吧)

	<body>
		<div id="app"> 
		姓名:<input type="text" id="username" v-model="user.username"><br> 
		密码:<input type="password" id="password" v-model="user.password"><br> 
			<input type="button" @click="fun" value="获取"> 
		</div> 
		
		<script> 
			new Vue({ el:'#app', //表示当前vue对象接管了div区域 
			data:{
				user:{username:"zhangsan",password:"123"} 
			},
			methods:{
				fun:function(){ 
					alert(this.user.username+" "+this.user.password);
					this.user.username="tom"; this.user.password="11111111"; }
				} 
			}); 
		</script> 
	</body>
		//总结:我们一般的数据绑定 就是给插值表达式的变量赋值,是单向的,而v-model实现了mvvm模式中的vm,即双向数据绑定,这是什么意思呢?简单来说,一开始我们在data中绑定了插值表达式的值,页面也显示了出来,后来我们在页面中重新赋值,插值表达式的值就变了,这就是双向绑定的伟大之处.

5.v-if和v-show
表面上效果相同 但是简单来说当值为false时 v-show是将渲染效果隐藏 v-if是不渲染

	<body>
		<div id="app">
			<span v-if="flag">安妮</span>
			<span v-show="flag">亚索</span>
			<button @click="fun">切换</button> 
		</div>
	</body>
	<script>
		//view model
		let f =new Vue({
			el:'#app',
			data:{
				flag:'true'
			},
			methods:{
				fun:function(){
					f.flag = !f.flag
				}
			}
		})
	</script>