apicloud和标准dom事件使用方法的区别?

然后,认真想一想,Angular 2 的“麻烦” 真的来自于 TypeScript 吗?下面是我猜的几个“麻烦”的地方。

2.0 相对于 1.x 的一个重要区别是强制组件化。1.x 的时候可以创建脱离 Directive 的 Controller,在简单程序中非常方便,所以很多人在 1.x 的时候本来就不是按照最佳实践来做的,甚至很多人不知道 Angular 1.x 也可以组件化。当你的 Angular 1.x

中,这个初始化函数仍然是存在的,如果是用 TypeScript 的话,就是类的构造函数(相当于把 link 和 controller 合并了),只是不再使用 Controller 这个误导性的关键字而已了。

来构造一个层次结构了,Scope 的事件传递机制(emit、broadcast、on)可以直接置于 Component 上,所以 Scope 存在的必要基本没有了。但如果你了解这个 hierarchy 的作用,你会发现这个 hierarchy 还是存在的。

但是,这个学习成本并不在 Angular 上面,基于事件流的响应式编程(ReactiveCocoa 中貌似叫信号流)可以看成是一种编程范型,目前来说也是一种潮流和趋势。

RxJS 并不是 Angular 2 中的,在任何前端框架或者没有框架的情况下都可以正常使用。对于熟悉 RxJS 的人来说,在 Angular 2 中可以感受到一种强烈的亲切感和由此带来的巨大的开发效率提升。

对于只是把 RxJS(or RxWhatever)只是当成回调的另一种方式的人来说,除了语法更复杂之外并没有其他什么不同。所以如果题主不甚了解 Rx 的话,建议先行(或另行,也就是时间上并行)了解 Rx,重点在理念而不是用法。

对于长期把 JavaScript 当脚本语言来用的人来说,可能会很不习惯各种类、接口的先定义后使用,各种继承与实现等,觉得这是生产力的倒退。

但其实面向对象仍然是使用非常广泛的一种范型,在随着程序复杂度的增加还是有无可比拟的优势,特别对于 UI 程序来说是非常常用也非常实用的一种范型。另一方面,也希望题主不要把 JavaScript 只是看成一种网页脚本,对于组件化的 Web App 来说,JavaScript 和

TypeScript 其实并没有这个要求,可以标注 any 或者留空(隐式 any)。但实际上静态类型具有很大的优势,不论是开发效率(IDE 提示、编译时检查)还是执行效率(目前 ts 还是要编译到 js 所以暂时不存在)。另外 TypeScript 也有强大的类型推理功能,对于局部逻辑来说,并不需要手动设定类型信息。

实际上 Angular 2 的模块化才是标准的 ECMAScript 的模块化,只是因为 ES2015 来得太晚,大家都搞出来了很多自己的模块化方式而已。另外,由于 ES2015 的全面普及实现还需要时间,所以需要 System.js 这样的临时方案来做相应的 Polyfill。

总结起来就是,Angular 2 的才是正统的模块化方式,其他的方式才是坑。(虽然我也觉得说得好无力)

这个要怪也只能怪浏览器厂商咯,要让 Angular 来背的话实在过了。

如果题主还觉得确实哪里有“麻烦”的地方,欢迎提出。也确实可能有 Angular 2 或者 TypeScript 做的不够好的地方,也有一些是为了细粒度控制以便于优化。但是仅仅吐槽“麻烦”是解决不了任何问题的,重要的是了解这样设计的原因和可能的改进方案。

当然,也希望前端开发能够越“简单”,但是归根到底应该考虑到,我们在做的东西本身就在越来越“复杂”。

新七天备战双11收购域名升级网站,域名跳转到域名系新七天电器网早前收购所得,域名交易金额暂不清楚。

write_ad("menu_tags_up_button");CNMO_,届时新七天电器网官网将携手淘宝商城电器城新七天官方旗舰店进行两店联动大型促销活动。   新七天促销创意   “以家电为例,每年十一黄金周都是传统卖场促销大战打得火热,虽然近两年家电网上商城也在十一期间参战,但在短时....

我要回帖

更多关于 dom事件流三个阶段 的文章

 

随机推荐