vue和angular的区别

最近研究angular发现和vue有许多相似之处,所以暂时总结几点,与大家分享一下:
1)vue仅仅是MVVM中的view层,类似于jQ一样的工具库,不是框架,但angular是框架
2)vue的双向绑定是基于ES5的getter/setter来实现的,一般默认为单向绑定,数据从父组件单向传给子组件,在大型应用中使用单向绑定让数据易于理解;
angular是由自己实现一套模板编译规则,需要进行‘脏’检查,这样就加大了watcher的工作量,只要angular有更新,变动,watcher就要重头开始计算,vue则不需要。所以 ,vue在性能上更搞笑,但是代价是对于ie9以下的浏览器无法支持
3)vue中指令和组件分得更清晰。指令只封装DOM操作,组价就是代表一个自给自足的独立单元—有自己的视图和数据逻辑。但angular中两者有不少相混的地方
4)在API与设计两方面上vue比angular简单的多,更容易上手
5)vue用的指令是v-前缀,angular是ng-,数据绑定的方式也是一样,需要{{}}来渲染
6)vue没有angular制定的规则,允许开发者以希望的方式组织应用程序,它仅是一个视图层,可以将它嵌入一个现有页面而不一定要做成一个庞大的单页应用。在配合其他库方面它给开发者更大的空间,但相应,开发者也需要做更多的架构决策。这使得vue能够适用于各种项目
7)挂载数据方式的不同

//angular挂载数据的方法
var app = angular.module('myApp',[])
//所有的数据和方法均挂载在$scope上
app.controller('custormersCtrl',function($scope){
	$scope.list = [{},{},{}]
	$scope.method=function(){
	console.log("angular")
}
})

//vue挂载数据的方法  
var V=new Vue({
	el:"#app",
	data:{
	//数据挂载在data
		list:[{},{},{}]
	},
	//方法挂载在vue的methods上
	methods:{
	method:function(){
	console.log("vue")
}
}
})

参考https://yq.aliyun.com/ziliao/406903

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值