Angular发布1.5正式版,专注于向Angular 2的过渡

时间:2021-05-28

Angular团队最近发布了Angular 1.5的正式版,该版本实现了一次重大的升级,它让仍在使用1.X版本的开发者将能够更容易地过渡到Angular 2的开发。

Pete Bacon Darwin在此次发布 声明 的博客文章中写道,这次发布的目的是“改进Angular 2的升级路径。我们在这次发布中引入了一些新的特性,让开发者编写的Angular 1应用更接近于在Angular 2中应用的结构。”

此次发布中,新的module.component()辅助方法是向Angular 2进行过渡的最大变更。通过使用该方法,开发者就不必再遵循传统的directive定义对象风格编写directive了。如果读者已经熟悉Angular 2的写法,就应当注意到这种相似性。在文章中,作者通过一个示例表现了定义一个新component的方法:

myModule.component('myComponent', {template: '<h1>Hello {{ $ctrl.getFullName() }}</h1>',bindings: { firstName: '<', lastName: '<' },controller: function() {this.getFullName = function() {return this.firstName + ' ' + this.lastName;};}});

在component出现之前,开发者通常只能使用directive,或是通过对controller的非常规使用才能够实现某些场景。但这并不是说component就将完全取代directive的作用了,比方说component就无法用于操作DOM,并且所有的component都必须通过自定义的HTML元素激活,而不支持通过元素的属性触发。按照以上方式定义的component可通过以下代码使用:

<my-component first-name="'Alan'" last-name="'Rickman'"></my-component>

新的 component指南 对于传统的directive与component之间的区别提供了更完整的说明。

单向绑定

生命周期钩子

绑定至必需的directive

支持多个slot的transclusion

默认transclusion内容

目前在使用1.4版本的开发者可以阅读 迁移指南 以了解迁移时需要进行哪些必要的变更,因为1.5版本中引入了一些破坏性的变更。

在可预见的一段时间内,1.5版本应当是最大的一次变更了。当InfoQ向Bacon Darwin问及1.X版本将何去何从时,他是这样回答的:

我们还没有开始计划Angular 1的下一次发布周期。由于离Angular 2正式发布的日期已经越来越近了,因此如果我们继续开发Angular 1,那么也会尽量使它更接近于Angular 2。如果为了实现这一点而必须引入破坏性的变更,那么可以预计1.6版本的出现。同时,我们还将继续Angular 1.5.x版本的开发,提供bug的修复以及一些较小的特性。总之,这与我们让Angular 1.X更易于迁移至Angular 2的目标并不冲突。

新的component router特性应当在本周的稍晚时间发布。感兴趣的朋友敬请关注网站!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章