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 相关文章推荐
jquery tab插件制作实现代码
Jun 22 Javascript
网页前端优化之滚动延时加载图片示例
Jul 13 Javascript
JS清空多文本框、文本域示例代码
Feb 24 Javascript
js选择并转移导航菜单示例代码
Aug 19 Javascript
js倒计时简单实现方法
Dec 17 Javascript
Angularjs material 实现搜索框功能
Mar 08 Javascript
onmouseover事件和onmouseout事件全面理解
Aug 15 Javascript
JS与jQuery实现子窗口获取父窗口元素值的方法
Apr 17 jQuery
javascript原生封装一个淡入淡出效果的函数测试实例代码
Mar 19 Javascript
JS实现的合并多个数组去重算法示例
Apr 11 Javascript
通过js给网页加上水印背景实例
Jun 17 Javascript
JavaScript中的各种宽高属性的实现
May 08 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
php 调试利器debug_print_backtrace()
2012/07/23 PHP
php一次性删除前台checkbox多选内容的方法
2013/09/22 PHP
浅谈ThinkPHP中initialize和construct的区别
2017/04/01 PHP
php无限级分类实现评论及回复功能
2019/02/18 PHP
让IE6支持min-width和max-width的方法
2010/06/25 Javascript
一个原生的用户等级的进度条
2010/07/03 Javascript
JS判断不能为空实例代码
2013/11/26 Javascript
用于deeplink的js方法(判断手机是否安装app)
2014/04/02 Javascript
Javascript正则控制文本框只能输入整数或浮点数
2014/09/02 Javascript
用js代码和插件实现wordpress雪花飘落效果的四种方法
2014/12/15 Javascript
jquery插件ajaxupload实现文件上传操作
2015/12/09 Javascript
JavaScript绑定事件监听函数的通用方法
2016/05/14 Javascript
深入理解js中this的用法
2016/05/28 Javascript
jQuery实现订单提交页发送短信功能前端处理方法
2016/07/04 Javascript
jQuery表单验证简单示例
2016/10/17 Javascript
javaScript+turn.js实现图书翻页效果实例代码
2017/02/16 Javascript
浅谈JavaScript中的属性:如何遍历属性
2017/09/14 Javascript
koa上传excel文件并解析的实现方法
2018/08/09 Javascript
详解Axios统一错误处理与后置
2018/09/26 Javascript
Vue编程式跳转的实例代码详解
2019/07/10 Javascript
详解简单易懂的 ES6 Iterators 指南和示例
2019/09/24 Javascript
详解JavaScript修改注册表的方法
2020/01/05 Javascript
ant design的table组件实现全选功能以及自定义分页
2020/11/17 Javascript
[03:12]2016完美“圣”典风云人物:单车专访
2016/12/02 DOTA
python如何生成网页验证码
2018/07/28 Python
python对文件目录的操作方法实例总结
2019/06/24 Python
Python提取转移文件夹内所有.jpg文件并查看每一帧的方法
2019/06/27 Python
Europcar英国:英国汽车和货车租赁
2017/01/21 全球购物
关于递归的一道.NET面试题
2013/05/12 面试题
公开服务承诺制度
2014/03/26 职场文书
活着观后感
2015/06/03 职场文书
在职证明范本
2015/06/15 职场文书
2016年过年放假安排通知
2015/08/18 职场文书
银行客户经理培训心得体会
2016/01/09 职场文书
Mysql数据库中datetime、bigint、timestamp来表示时间选择,谁来存储时间效率最高
2021/08/23 MySQL
Java 异步任务计算FutureTask
2022/04/28 Java/Android