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 获取图片尺寸及放大图片
Sep 04 Javascript
jquery 插件实现瀑布流图片展示实例
Apr 03 Javascript
js鼠标点击图片切换效果实现代码
Nov 19 Javascript
Bootstrap项目实战之子栏目资讯内容
Apr 25 Javascript
基于jQuery的Web上传插件Uploadify使用示例
May 19 Javascript
JS正则替换掉小括号及内容的方法
Nov 29 Javascript
Bootstrap导航条学习使用(一)
Feb 08 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
Sep 06 Javascript
浅谈vue2 单页面如何设置网页title
Nov 08 Javascript
JS组件系列之Gojs组件 前端图形化插件之利器
Nov 29 Javascript
vue+Element-ui实现分页效果实例代码详解
Dec 10 Javascript
详解Vue中的watch和computed
Nov 09 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
合作指挥官:孟斯克
2020/03/16 星际争霸
摩卡咖啡
2021/03/03 咖啡文化
php iconv() : Detected an illegal character in input string
2010/12/05 PHP
自己在做项目过程中学到的PHP知识收集
2012/08/20 PHP
Zend Framework教程之Zend_Layout布局助手详解
2016/03/04 PHP
浅谈PHP链表数据结构(单链表)
2016/06/08 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
javascript 事件处理程序介绍
2012/06/27 Javascript
jQuery移动和复制dom节点实用DOM操作案例
2012/12/17 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
JavaScript实现自动变换表格边框颜色
2015/05/08 Javascript
浅谈Javascript中substr和substring的区别
2015/09/30 Javascript
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
2015/11/02 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
2016/05/05 Javascript
js省市县三级联动效果实例
2020/04/15 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
微信小程序 获取相册照片实例详解
2016/11/16 Javascript
Javascript中call,apply,bind方法的详解与总结
2016/12/12 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
2016/12/30 Javascript
微信小程序switch开关选择器使用详解
2018/01/31 Javascript
解决vue A对象赋值给B对象,修改B属性会影响到A的问题
2018/09/25 Javascript
vue实现随机验证码功能的实例代码
2019/04/30 Javascript
Javascript Web Worker使用过程解析
2020/03/16 Javascript
vue+elementUI中表格高亮或字体颜色改变操作
2020/11/02 Javascript
[59:30]完美世界DOTA2联赛PWL S3 access vs LBZS 第二场 12.20
2020/12/23 DOTA
Python自定义类的数组排序实现代码
2016/08/28 Python
TensorFlow实现卷积神经网络CNN
2018/03/09 Python
深入了解Python 变量作用域
2020/07/24 Python
python Tornado框架的使用示例
2020/10/19 Python
css3实现平移效果(transfrom:translate)的示例
2020/11/13 HTML / CSS
佳能加拿大网上商店:Canon eStore Canada
2018/04/04 全球购物
Delphi CS笔试题
2014/01/04 面试题
职工运动会邀请函
2014/01/19 职场文书
英文商务邀请信
2014/01/22 职场文书
金融事务专业求职信
2014/04/25 职场文书
傲慢与偏见电影观后感
2015/06/10 职场文书