Vue、jquery和angular之间区别

aVue、jquery、angular之间区别

angular与jquery区别

三个版本的输入数据绑定,都是单页面应用。

Angular

javascript 复制代码
	<body ng-app>
		<input type="text" ng-model="name">
		<p>{{name}}</p>
	</body>
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>

jquery

javascript 复制代码
<body>
	<input type="text">
	<p></p>
</body>
<script src="jquery-3.3.1.js"></script>
<script>
	$(function(){
		$('input').keyup(function(){
			let value=this.value;
			console.log(value)
			$('p').html(value)
		})
	})
</script>

Vue.js

javascript 复制代码
</head>
<body>
<div id="app">
	<input type="text" v-model="message">
  <p>{{ message }}</p>
</div>

<script>
new Vue({
  el: '#app',
  data: {
    message: 'Vue.js!'
  }
})
</script>

显而易见的是,拥有双向数据绑定的angular用更轻量的代码做了相同的事。

1.从理论来看,jquery在创建之初了为了解决前端在浏览器之中的样式兼容性问题,它是一个js库,而angular是一种前端框架,前者是用于调用库来更便捷的写代码,后者是写代码在这个框架中,在它所创造的体系中进行实际的应用。

2.jquery不支持双向数据绑定,angular&Vue支持。

3.jquery的API大多数需要和DOM联系,而angular较少的使用DOM,避免了一定的重排重绘问题。

4.jquery应用于单页面程序开发,angular既适用于单页面开发,也被使用在app、云平台等多个整体应用中。

5.jquery主要用$+DOM进行协同开发,angular有一套自定义指令来进行使用,如ngIf ngFor ngModel等等。

6.与node&typescript结合的angular有着更强大的初始化项目能力,能够快速利用命令行创建初始项目。

angular和Vue

这两个都是双向数据绑定。不同的是

1.核心库与生态:Vue核心库较小,生态较新,angular核心库较大,生态较稳定。前者较易学习,后者相对较难。

2。双向绑定:Vue基于ES5中的getter/setter,angular基于它原生的模板编译规则和脏检查

缺点:

Vue:对IE9以下浏览器不支持,但性能较angular高效。

Angular:作用域有变化时,所有监听都需要重新被脏检查,监听越多angular越慢,脏检查循环需要执行多次。而解决这个问题对于前端来说并不容易。

3.指令不同:angular:ng-x Vue:v-x

4.angular由google维护,Vue由个人维护。

5.通信:Vue为了让通信数据流更清晰易懂,在不同组件间通信强制使用单向数据绑定,Angular双向数据绑定。

相关推荐
Aotman_3 小时前
Vue el-from的el-form-item v-for循环表单如何校验rules(二)
前端·javascript·vue.js
BillKu4 小时前
Vue3父子组件数据双向绑定示例
javascript·vue.js·elementui
bingbingyihao9 小时前
个人博客系统
前端·javascript·vue.js
BillKu11 小时前
遵守 Vue3 的单向数据流原则:父组件传递对象 + 子组件修改对象属性,安全地实现父子组件之间复杂对象的双向绑定示例代码及讲解
javascript·vue.js·elementui
Nuyoah.12 小时前
《vue3学习手记3》
前端·javascript·vue.js·学习·前端框架
初遇你时动了情12 小时前
vue3 uniapp vite 配置之定义指令
javascript·vue.js·uni-app
BillKu12 小时前
reactive 解构赋值给 ref
前端·javascript·vue.js
鑫不想说话10647613 小时前
ts+vue3出乎意料的推导报错
vue.js·typescript
dasseinzumtode13 小时前
在 Vue 3 中实现右键菜单功能
前端·vue.js
工业互联网专业14 小时前
基于springboot+vue的数码产品抢购系统
java·vue.js·spring boot·毕业设计·源码·课程设计·数码产品抢购系统