初识Vue

本文介绍了Vue框架的基础知识,包括其简介、特点(组件化、声明式编程、虚拟DOM),与其他JS框架的关系,以及如何使用Vue(创建实例、数据绑定方法)。此外,还详细讲解了模板语法(插值和指令)、el与data的不同写法,以及核心的MVVM模型概念。
摘要由CSDN通过智能技术生成

1.Vue 简介

  • 动态构建用户界面的渐进式 JavaScript 框架

Vue可以自底向上逐层应用

  1. 简单应用:只需一个轻量小巧的核心库
  2. 复杂应用:可以引用各式各样的Vue插件

2.Vue 的特点

  1. 采用组件化模式,提高代码复用率、且让代码更好维护
  2. 声明式编码,让编码人员无需直接操作DOM,提高开发效率
  3. 使用虚拟DOM+优秀的Diff算法,尽量复用DOM节点( 遵循 MVVM 模式)

3.与其它 JS 框架的关联

  1. 借鉴 Angular 的模板和数据绑定技术
  2. 借鉴 React 的组件化和虚拟 DOM 技术

4.如何使用vue

1.想让Vue工作,就必须创建一个Vue实例,且要传入一个配置对象;
2.root容器里的代码依然符合html规范,只不过混入了一些特殊的Vue语法;
3.root容器里的代码被称为【Vue模板】;
4.Vue实例和容器是一一对应的;
5.真实开发中只有一个Vue实例,并且会配合着组件一起使用;
6.{{xxx}}中的xxx要写js表达式,且xxx可以自动读取到data中的所有属性;
7.一旦data中的数据发生改变,那么页面中用到该数据的地方也会自动更新;
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>初识Vue</title>
		<!-- 引入Vue -->
		<script type="text/javascript" src="../js/vue.js"></script>
	</head>
	<body>
	
		<!-- 准备好一个容器 -->
		<div id="demo">
			<h1>Hello,{{name.toUpperCase()}}</h1>
		</div>

		<script type="text/javascript" >
			Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。

			//创建Vue实例
			new Vue({
				el:'#demo', //el用于指定当前Vue实例为哪个容器服务,值通常为css选择器字符串。
				data:{ //data中用于存储数据,数据供el所指定的容器去使用,值我们暂时先写成一个对象。
					name:'xiaoming',
				}
			})

		</script>
	</body>
</html>

5.模板语法

  1. 插值语法(双大括号表达式)
  2. 指令语法(以 v-开头)

5.1. 插值语法

  1. 功能: 用于解析标签体内容
  2. 语法: {{xxx}} ,xxxx 会作为 js 表达式解析

5.2 指令语法

  1. 功能: 解析标签属性、解析标签体内容、绑定事件
  2. 举例:v-bind:href = ‘xxxx’ ,xxxx 会作为 js 表达式被解析
  3. 说明:Vue 中有有很多的指令,此处只是用 v-bind 举个例子
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>模板语法</title>
		<!-- 引入Vue -->
		<script type="text/javascript" src="../js/vue.js"></script>
	</head>
	<body>
		<!-- 准备好一个容器-->
		<div id="root">
		
			<h1>插值语法</h1>
			<h3>你好,{{name}}</h3>
			<hr/>
			
			<h1>指令语法</h1>
			<!-- 解析表达式-->
			<a v-ind:href="school.url.toUpperCase()" x="hello">点我跳转页面</a>
			<a :href="school.url" x="hello">点我跳转页面</a>

			
		</div>
	</body>

	<script type="text/javascript">
		Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。

		new Vue({
			el:'#root',
			data:{
				name:'jack',
				school:{
					name:'school',
					url:'http://www.school.com',
				}
			}
		})
	</script>
</html>

6.数据绑定

6.1单向数据绑定

  1. 语法:v-bind:href =“xxx” 或简写为 :href
  2. 特点:数据只能从 data 流向页面

6.2双向数据绑定

  1. 语法:v-mode:value=“xxx” 或简写为 v-model=“xxx”
  2. 特点:数据不仅能从 data 流向页面,还能从页面流向 data

注意:
1.v-model默认收集的就是value值
2.v-model只能应用在表单类元素(输入类元素)上

7.el与data的两种写法

7.1.el有2种写法

(1).new Vue时候配置el属性。
(2).先创建Vue实例,随后再通过vm.$mount(‘#root’)指定el的值。

7.2.data有2种写法

(1).对象式
(2).函数式

注意:

  1. 使用组件时,data必须使用函数式,否则会报错。
  2. 由Vue管理的函数,一定不要写箭头函数,一旦写了箭头函数,this就不再是Vue实例了。
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>el与data的两种写法</title>
		<!-- 引入Vue -->
		<script type="text/javascript" src="../js/vue.js"></script>
	</head>
	<body>

		<!-- 准备好一个容器-->
		<div id="root">
			<h1>你好,{{name}}</h1>
		</div>
	</body>

	<script type="text/javascript">
		Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。

		//el的两种写法
		/* const v = new Vue({
			//el:'#root', //第一种写法
			data:{
				name:'tom'
			}
		})
		console.log(v)
		v.$mount('#root') //第二种写法 */

		//data的两种写法
		new Vue({
			el:'#root',
			//data的第一种写法:对象式
			/* data:{
				name:'tom'
			} */

			//data的第二种写法:函数式
			data(){
				console.log('@@@',this) //此处的this是Vue实例对象
				return{
					name:'tom'
				}
			}
		})
	</script>
</html>

8.MVVM 模型

  1. M:模型(Model) :对应 data 中的数据
  2. V:视图(View) :模板
  3. VM:视图模型(ViewModel) : Vue 实例对象在这里插入图片描述

1.data中所有的属性,最后都出现在了vm身上。
2.vm身上所有的属性 及 Vue原型上所有属性,在Vue模板中都可以直接使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值