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


Posted in Javascript onFebruary 18, 2016

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特性应当在本周的稍晚时间发布。感兴趣的朋友敬请关注三水点靠木网站!

Javascript 相关文章推荐
Javascript技术技巧大全(五)
Jan 22 Javascript
javaScript复制功能调用实现方案
Dec 13 Javascript
Javascript Throttle &amp; Debounce应用介绍
Mar 19 Javascript
js运动框架_包括图片的淡入淡出效果
May 11 Javascript
使用js+jquery实现无限极联动
May 23 Javascript
JS操作select下拉框动态变动(创建/删除/获取)
Jun 02 Javascript
JSONP原理及简单实现
Jun 08 Javascript
关于JS变量和作用域详解
Jul 28 Javascript
简单谈谈关于 npm 5.0 的新坑
Jun 08 Javascript
如何理解Vue的.sync修饰符的使用
Aug 17 Javascript
Express结合Webpack的全栈自动刷新
May 23 Javascript
浅析JS中NEW的实现原理及重写
Feb 20 Javascript
iscroll.js的上拉下拉刷新时无法回弹的解决方法
Feb 18 #Javascript
javascript每日必学之条件分支
Feb 17 #Javascript
JavaScipt中栈的实现方法
Feb 17 #Javascript
Bootstrap入门书籍之(五)导航条、分页导航
Feb 17 #Javascript
Bootstrap入门书籍之(四)菜单、按钮及导航
Feb 17 #Javascript
Bootstrap入门书籍之(三)栅格系统
Feb 17 #Javascript
Bootstrap入门书籍之(一)排版
Feb 17 #Javascript
You might like
10条PHP编程习惯助你找工作
2008/09/29 PHP
php adodb分页实现代码
2009/03/19 PHP
php 操作excel文件的方法小结
2009/12/31 PHP
php使用GD实现颜色渐变实例
2015/06/02 PHP
PHP实现通过get方式识别用户发送邮件的方法
2015/07/16 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
经验几则 推荐
2006/09/05 Javascript
推荐10个超棒的jQuery工具提示插件
2011/10/11 Javascript
javascript中全局对象的parseInt()方法使用介绍
2013/12/19 Javascript
javascript自动给文本url地址增加链接的方法分享
2014/01/20 Javascript
Linux下使用jq友好的打印JSON技巧分享
2014/11/18 Javascript
jQuery中next()方法用法实例
2015/01/07 Javascript
微信WeixinJSBridge API使用实例
2015/05/25 Javascript
javascript实现youku的视频代码自适应宽度
2015/05/25 Javascript
JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)
2016/10/27 Javascript
js实现符合国情的日期插件详解
2017/01/19 Javascript
Layui 数据表格批量删除和多条件搜索的实例
2019/09/04 Javascript
微信小程序仿抖音短视频切换效果的实例代码
2020/06/24 Javascript
Openlayers绘制地图标注
2020/09/28 Javascript
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
2021/01/29 jQuery
[11:12]2018DOTA2国际邀请赛寻真——绿色长城OpTic
2018/08/10 DOTA
Python Web框架Flask信号机制(signals)介绍
2015/01/01 Python
Python获取运行目录与当前脚本目录的方法
2015/06/01 Python
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
django 做 migrate 时 表已存在的处理方法
2019/08/31 Python
修改 CentOS 6.x 上默认Python的方法
2019/09/06 Python
浅析Python数字类型和字符串类型的内置方法
2019/12/22 Python
巧用CSS3 border实现图片遮罩效果代码
2012/04/09 HTML / CSS
利用CSS3实现文字折纸效果实例代码
2018/07/10 HTML / CSS
行政人事专员岗位职责
2014/03/05 职场文书
涉及车辆房产分割的离婚协议书范文
2014/10/12 职场文书
工伤事故赔偿协议书
2014/10/27 职场文书
加入学生会自荐书
2015/03/05 职场文书
物业管理交接协议书
2016/03/24 职场文书
Python中requests库的用法详解
2022/06/05 Python
Win11怎么解除儿童账号限制?Win11解除微软儿童账号限制方法
2022/07/07 数码科技