Vue、jquery和angular之间区别

aVue、jquery、angular之间区别

  • angular与jquery区别
  • angular和Vue

angular与jquery区别

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

	<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

<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

</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双向数据绑定。

你可能感兴趣的:(web前端,Angular,vue.js,jquery,angular.js)