关于javascript:vuereactangular三大框架对比

41次阅读

共计 1691 个字符,预计需要花费 5 分钟才能阅读完成。

概论

angular

angular 是一个大而全的 MVC 框架,它提供了咱们所须要的各种性能,如模块治理,双向绑定等等,它涵盖了开发中的各个层面,并且层与层之前都通过了精心调试

react

all in js。很多货色都得本人去手动解决。要学 jsx,还有其它一些如 redux。也能麻烦。

vue

提供的 vue 模板,让习惯了 html,js,css 拆散,使代码看起来更不便。封装的一些货色对使用者比拟敌对,是三者中速度最快,体积最小的一个框架。
Vue 声称能够更快地计算出 Virtual DOM 的差别,这是因为它在渲染过程中,会跟踪每一个组件的依赖关系,不须要从新渲染整个组件树。

而对于 React 而言,每当利用的状态被扭转时,全副子组件都会从新渲染。当然,这能够通过 shouldComponentUpdate 这个生命周期办法来进行管制,但 Vue 将此视为默认的优化。

优缺点

angular

是一个大而全的框架,实用于大中型我的项目。

学习老本高

react

是一个小而精的库

jsx,很多货色都得本人去手动解决。只重视 view 层的渲染。而把其它的货色都是有社区实现。也造成了,比方 react-router4 就跟之前不一样。版本变更不统一的坑爹行为。然而 vue 和 angular 则不会都是由官网保护,和框架一起公布变更。

vue

封装的一些货色对使用者比拟敌对,是三者中速度最快,体积最小的一个框架

选型

angular

如果你须要在一个大型的框架内获取技术资源,框架内的技术通常很容易移植。或者你须要在框架中训练开发人员,并且还有肯定的信念,他们会在短期内取得肯定的开发能力。
如果你的 web 利用可能很好的转化为规范的模型——视图模式,那么你也能够疏忽其它间接应用。

react

如果你很少须要手把手领导,并且正在寻找更好的库而不是全面的框架,那么 react 可能是正确的,这一过程,你不仅要对你的团队和组织的能力放弃虔诚,还要在你的初始开发过程中,以及在整个应用程序的长期保护过程中放弃虔诚。

vue

如果你有一个传统的 web 应用程序,并须要一个强健持重的应用程序层,那么 vue 可能是一个很好的抉择,它有清晰的模式,即便没有教训的团队也能正确的应用它。

v-model的实现

react

class Input extends Component{valueChange=(e)=>{this.setState({value:e.target.value})
    }
    render(){
        <div>
            <input type="text" value={this.state.value} onChange={this.valueChange}/>
        </div>
    }
}

angular

<input [ngModel]='todo.text' (ngModelChange)='todo.text=$event'/>=
<input [(ngModel)]='todo.text'/>

@Directive({selector:'[ngModel]',
    host:{'[value]':'ngModl',
        '(input)':'ngModelChanged.next($event.target.value)'
    }
})
class NgModelDirective{@Input() ngModel:any;
    @Output() ngModelChanged:EventEmitter=new EventEmitter()
}

vue

<input type='text' value=''id='J_input'/>
<p id='J_p'></p>

let obj={};
Object.defineProperty(obj,'say',{set:function(value){document.getElementById('J_input').value=value;
        document.getElementById('J_p').innerHTML=value;
    }
})
document.addEventListener('keyup',function(e){obj.say=e.target.value;})

正文完
 0