码迷,mamicode.com
首页 > 其他好文 > 详细

angular和vue的对比,几个总结:

时间:2016-05-07 16:19:58      阅读:4929      评论:0      收藏:0      [点我收藏+]

标签:

首先都是双向数据绑定,前后分离的武器之一,不同点,ng庞大,功能更复杂,有时候用在手机端可能不是很好,而vue就是迷你版的angular,好比,jq和zepto的区别

1.controller,对应到vue里面就是new Vue({el:}),这个el,页面上,ng需要写控制器名字,vue不需要,

2.ng自带http服务,vue没有,需要下载vue-resource,当然这个也不大,就12k左右;

3.ng的指令,对应vue的组件,不理解的可以认为是jq的插件,区别是ng是directive,vue是componen+directivet,其中ng的transclusion,对应是vue的slot标签;

4.事件上,ng是ng-click,ng-mousedown,vue是v-on:event;

5 ng可以过滤器,指令和module顺序随便,但是vue最后先写过滤器,然实例化,否则会报错,fail resolve filter

6.ng底层是脏检测,vue貌似是把数据绑到prototype上,这个vue性能应该好点吧,

7.对比指令系统,个人感觉ng的指令更烦点,vue简单写;vue指令可以通过this.name访问到指令的名字,例子:

咱们先看vue

<div id="demo" v-demo:hello.a.b="msg"></div>

Vue.directive(‘demo‘, {
acceptStatement: true,
bind: function (value) {
console.log(this.expression)
this.el.style.color = ‘red‘;
this.el.innerHTML = this.msg
},
update: function (value) {
this.el.innerHTML =
// ‘name - ‘ + this.name + ‘<br>‘ +//注意这里的name就是demo
// ‘expression - ‘ + this.expression + ‘<br>‘ +这里的expression就是模板里的表达式
// ‘argument - ‘ + this.arg + ‘<br>‘ +//这里arg就是指令的参数也就是hello
// ‘modifiers - ‘ + JSON.stringify(this.modifiers) + ‘<br>‘ +这里的modified就是修饰符也就是
‘value - ‘ + value//这里的value就是真正msg的值,也就是data里的msg
}
})
var demo = new Vue({
el: ‘#demo‘,
data: {
msg: 1,
test:"lyz"
}
})


再看angular;
ng先创造模块,然后在这个模块上进行指令方法
app.directive("指令的名字",["",function(){
return {
返回指令的各种信息

])

 

angular和vue的对比,几个总结:

标签:

原文地址:http://www.cnblogs.com/lyz1991/p/5396217.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!