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 相关文章推荐
php跨域调用json的例子
Nov 13 Javascript
js简单实现根据身份证号码识别性别年龄生日
Nov 29 Javascript
Node.js实现的简易网页抓取功能示例
Dec 05 Javascript
jQuery实现在textarea指定位置插入字符或表情的方法
Mar 11 Javascript
JavaScript调用浏览器打印功能实例分析
Jul 17 Javascript
jquery实现横向图片轮播特效代码分享
Nov 19 Javascript
js实现获取两个日期之间所有日期的方法
Jun 17 Javascript
JS实现搜索框文字可删除功能
Dec 28 Javascript
Javascript前端经典的面试题及答案
Mar 14 Javascript
JavaScript模块化之使用requireJS按需加载
Apr 12 Javascript
react-router实现跳转传值的方法示例
May 27 Javascript
node.js中express-session配置项详解
May 31 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
超级实用的7个PHP代码片段分享
2012/01/05 PHP
PHP include任意文件或URL介绍
2014/04/29 PHP
Zend Framework教程之模型Model用法简单实例
2016/03/04 PHP
jQuery)扩展jQuery系列之一 模拟alert,confirm(一)
2010/12/04 Javascript
检测jQuery.js是否已加载的判断代码
2011/05/20 Javascript
电子商务网站上的常用的js放大镜效果
2011/12/08 Javascript
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
2012/03/01 Javascript
uploadify在Firefox下丢失session问题的解决方法
2013/08/07 Javascript
js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件
2014/01/27 Javascript
JS判断字符串长度的5个方法(区分中文和英文)
2014/03/18 Javascript
js实现的点击数量加一可操作数据库
2014/05/09 Javascript
jquery 插件实现多行文本框[textarea]自动高度
2015/03/04 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
javascript运动详解
2015/07/06 Javascript
javascript实现类似百度分享功能的方法
2015/07/27 Javascript
jQuery formValidator表单验证
2016/01/07 Javascript
Vuejs第十三篇之组件——杂项
2016/09/09 Javascript
jQuery中的select操作详解
2016/11/29 Javascript
深入理解vue路由的使用
2017/03/24 Javascript
javascript 玩转Date对象(实例讲解)
2017/07/11 Javascript
python模块之StringIO使用示例
2015/04/08 Python
浅谈Python数据类型判断及列表脚本操作
2016/11/04 Python
windows下python 3.6.4安装配置图文教程
2018/08/21 Python
Python多进程写入同一文件的方法
2019/01/14 Python
Django 缓存配置Redis使用详解
2019/07/23 Python
Python实现获取当前目录下文件名代码详解
2020/03/10 Python
Keras实现DenseNet结构操作
2020/07/06 Python
编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
2020/11/29 Python
详解移动端HTML5页面端去掉input输入框的白色背景和边框(兼容Android和ios)
2016/12/15 HTML / CSS
Lulu Guinness露露·吉尼斯官网:红唇包
2019/02/03 全球购物
几个Linux面试题笔试题
2016/08/01 面试题
MYSQL基础面试题
2012/05/13 面试题
专项法律服务方案
2014/06/11 职场文书
软件测试专业推荐信
2014/09/18 职场文书
重阳节演讲稿:尊敬帮助老人 弘扬传统美德
2014/09/25 职场文书
react国际化react-intl的使用
2021/05/06 Javascript