Vue的简单介绍与使用

本文介绍了Vue.js的基本概念、特点以及与库的区别。Vue作为一个轻量级且简单的框架,其主要优点包括双向数据绑定、组件化、非侵入式设计。通过一个简单的HelloVue!实例展示了如何创建Vue实例并处理事件。此外,还探讨了Vue的渐进式特性,以及它如何在不强加编码规范的同时提供高效的数据绑定和组件系统。
摘要由CSDN通过智能技术生成

1、Vue.js是什么?

Vue是一个构建用户界面(UI)的[渐进式]JavaScript框架

  • 渐进式:
    渐进式的意思就是 “主张最少”。每个框架都会有自己的一套编码方式,从而对使用者有一定的要求,这些要求就是主张/约束,主张有强有弱,它的强势程度会影响业务开发中的使用方式。

通俗理解渐进式的意思就是:你可以只用我的一部分,而不是用了我这一部分就必须用我的所有部分。

2、Vue优点

  1. 轻量级的框架:只关注视图层,是一个构建数据的视图集合,大小只有几十kb。Vue.js通过简洁的API提供高效的数据绑定和灵活的组件系统。

  2. 简单易学:国人开发,中文文档,不存在语言障碍,易于理解和学习。

  3. 双向数据绑定:同时也是vue.js最大的优点,通过MVVM思想实现数据的双向绑定,让开发者不用再操作dom对象,有更多的时间去思考业务逻辑。

  4. 组件化:在前端应用里我们是否也可以像面向对象编程一样把模块封装呢?这就引入了组件化开发的思想。Vue.js通过组件,把一个单页应用中的各种模块拆分到一个一个单独的组件(component)中,我们只要先在父级应用中写好各种组件标签(占坑),并且在组件标签中写好要传入组件的参数(就像给函数传入参数一样,这个参数叫做组件的属性),然后再分别写好各种组件的实现(填坑),然后整个应用就算做完了。

  5. 视图&数据&结构分离:使数据的更改更为简单,不需要进行逻辑代码的修改,只需要操作数据就能完成相关操作。

  6. 运行速度快

3、库和框架的区别

3.1 库(Library)

3.1 库(Library),本质上是一些函数的集合。每次调用函数,实现一个特定的功能,接着把控制权交给使用者
  代表:jQuery 
  jQuery这个库的核心:DOM操作,即:封装DOM操作,简化DOM操作
  JavaScript:document.getElementById()
  jQuery:    $('').val()

3.2 框架(Framework)

3.2 框架(Framework),是一套完整的解决方案,使用框架的时候,需要把你的代码放到框架合适的地方,
  框架会在合适的时机调用你的代码 
  代表:自定义mvc、SpringMVC、vue等。
  框架规定了自己的编程方式,是一套完整的解决方案
  使用框架的时候,由框架控制一切,我们只需要按照规则写代码
  框架的侵入性很高(从头到尾)

侵入式代码:

  1. 指的是引入或继承了别的包或框架
  2. 从字面意思理解,就是你的代码里已经嵌入了别的代码,这些代码可能是你引入过的框架,也可能是你通过接口继承得来的(比如:java中的继承),这样你就可以拥有侵入代码的一些功能。所以我们就称这段代码是侵入式代码。
  3. 比如:自定义MVC框架就是侵入式框架。我们在在使用自定义MVC框架的时候就要继承自定义MVC框架所提供中央调度器(DispatchServlet),这时自定义MVC框架的代码就侵入到我们的代码里面了,所以自定义MVC框架的代码就是侵入式的。
  4. 侵入式代码的优点:侵入式可以使用户跟框架更好的结合,更容易更充分的利用框架提供的功能。
  5. 侵入式代码的缺点:侵入式让用户代码产生对框架的依赖,框架外代码就不能使用了,不利于代码复用,依赖太多重构代码太痛苦了。一句话概括就是,你的代码需要依赖框架的代码,如果把框架拿掉或者换一个框架,就需要重新修改代码(因为使用侵入式的框架,一般需要继承或者实现框架的某一个类或者接口)。

非侵入式代码:

  1. 非侵入式与侵入式正好相反,用户的代码不需要引入框架代码的信息,从类的编写者角度来看,察觉不到框架的存在。
  2. 非侵入式代码优点:代码可复用,方便移植。体现了代码的设计原则:高内聚,低耦合。
  3. 非侵入式代码缺点:用户代码与框架代码交互的方式可能就比较复杂。
  4. Vue框架就是非侵入式框架。

4、第一个Vue实例:“Hello Vue!”

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script type="text/javascript" src="js/vue.js"></script>
	</head>
	<body>	
		<div id="app">
			<h1>时间戳:{{dt}}</h1>
			<h1 v-once>{{msg}}</h1>
			<input type="text" v-model="msg" />
			<!-- <button v-on:click="me">点击事件</button> -->
			<!-- <button v-on:mouseenter="me">进入事件</button> -->
			<button @click="me">点击事件</button>
			<button @mouseenter="me">进入事件</button>
			<hr/>
			<br/>
			姓氏:<input type="text" v-model="xs"/><br/>
			名字:<input type="text" v-model="mz"/><br/>
			<h2>姓名:{{xs}}{{mz}}</h2>
		</div>
	</body>
	<script type="text/javascript">
		// var data = {
		// 		dt:new Date().getTime(),
		// 		msg:'Hello Vue-------',
		// 		};
		// 创建Vue实例
		var vm = new Vue({
			el:'#app', // 挂载点/管理
			
			// 方式一:
			// data:data
			
			// 方式二:
			// data:{ // JSON格式
			// 	dt:new Date().getTime(),
			// 	msg:'Hello Vue-------',
			// }
			
			// 方式三:
			// data:function(){
			// 	return{
			// 		dt:new Date().getTime(),
			// 		msg:'Hello Vue-------',
			// 	}
			// },
			
			// 方式四:
			data(){
				return{
					dt:new Date().getTime(),
					msg:'Hello Vue-------',
					xs:'',
					mz:'',
				}
			},
			
			methods:{ // 定义方法,所有方法放在fail属性里面
				me:function(){
					 console.log("调用了输出方法!");
				}
			}
		});
		
	</script>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值