Ember 3.15
Ember 3.15 发布了,此项目包含的 Ember.js, Ember Data 和 Ember CLI 也均已更新。除了常规的引入新功能和 bugfix,Ember 3.15 还标志了 Octane edition 的正式发布,这也是 Ember 的首个 edition release。
Edition 是 Ember 在 RFC #364 - Ember 2018 Roadmap 中引入的概念。一个版本(edition)代表了一个统一的编程模型,而发布新的 edition 则代表了由于 Ember 添加了新功能和新概念而导致编程模型的转变。Ember Octane 正是 Ember 的首个 edition。
Ember 3.15 "Octane" 带来了更多现代化的功能,诸如原生 ES 类、装饰器、新的 Glimmer 组件 API,以及一种称为“跟踪属性(tracked properties)”新的状态管理方法。结合起来,这些对 Ember 的创新性改变不仅仅是新的工具和 API,Octane 的特性共同构成了 Ember 应用程序构建方式的范式转变。
此版本值得关注的改进:
-
引入 Glimmer 组件
旧版本使用组件的方式
import Component from '@ember/component'; export default Component.extend({ tagName: 'p', classNames: ["tooltip"], classNameBindings: ["isEnabled:enabled", "isActive:active"], })
新版本使用 Glimmer 组件
<p class="tooltip {{if @isEnabled 'enabled'}} {{if @isActive 'active'}}"> {{yield}} </p>
亦即意味着我们可以创建一个没有根元素的组件
<p>{{yield}}</p> <hr>
-
针对 Ember 组件模型引入元素修饰符,此功能使开发者可以构建未连接到任何特定组件的可重用 DOM 行为
-
Glimmer Reactivity
下面是 Ember 3.14 指南中的计算属性示例:
import EmberObject, { computed } from '@ember/object'; const Person = EmberObject.extend({ firstName: null, lastName: null, age: null, country: null, fullName: computed('firstName', 'lastName', function() { return `${this.firstName} ${this.lastName}`; }), description: computed('fullName', 'age', 'country', function() { return `${this.fullName}; Age: ${this.age}; Country: ${this.country}`; }) }); let captainAmerica = Person.create({ firstName: 'Steve', lastName: 'Rogers', age: 80, country: 'USA' }); captainAmerica.description; // "Steve Rogers; Age: 80; Country: USA" captainAmerica.set('firstName', 'Steven'); captainAmerica.description; // "Steven Rogers; Age: 80; Country: USA"
新版本中的跟踪属性(Tracked Properties)
class Person { @tracked firstName; @tracked lastName; @tracked age; @tracked country; constructor({ firstName, lastName, age, country }) { this.firstName = firstName; this.lastName = lastName; this.age = age; this.country = country; } get fullName() { return `${this.firstName} ${this.lastName}`; }), get description() { return `${this.fullName}; Age: ${this.age}; Country: ${this.country}`; }) } let captainAmerica = new Person({ firstName: 'Steve', lastName: 'Rogers', age: 80, country: 'USA' }); captainAmerica.description; // "Steve Rogers; Age: 80; Country: USA" captainAmerica.firstName = "Steven"; captainAmerica.description; // "Steven Rogers; Age: 80; Country: USA"
详细更新请点此查看:https://blog.emberjs.com/2019/12/20/octane-is-here.html
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Material UI 4.8.1 发布,Material Design React 组件
Material UI 4.8.1 发布了。Material UI 是一组实现 Google Material Design 规范的 React 组件,它是一个前端 JS 框架,主要用在 Web 领域。 更新内容: @material-ui/core@v4.8.1 [Drawer] 修复 PaperProps className 合并 (#18866) [InputBase] 将 rowsMin 添加到键入 (#18922) [Paper] 添加变体道具 (#18824) [Popover] 修复打开动画时的错误 (#18896) [Select] 修复集中控制中的错误 (#18857) [TextField] onBlur 事件参数可以不确定 (#18867) [Typography] 改进自定义组件类型支持 (#18868) [theme] 向调色板添加警告、成功和信息颜色 (#18820) [l10n] 添加韩语(ko-KR)语言环境 (#18952) [l10n] 添加阿塞拜疆(az-AZ)区域设置 (#18859) [l10n] 添加捷克(cs-CZ)和斯洛伐克(sk-SK)...
- 下一篇
ArangoDB 3.6 RC2 发布,分布式多模型数据库
ArangoDB 3.6 RC2 发布了。ArangoDB 是一个分布式原生的多模型数据库,具有灵活的文档、图形和键值数据模型。使用方便的 SQL 查询语言或 JavaScript 扩展构建高性能应用程序。 新版本集中在主要性能改进上。另外,加快 AQL 的许多方面也有了改进,并在以下方面做了努力: 子查询性能 并行执行 AQL 查询,可以大大减少分布在多个节点上的数据的收集时间 后期文档实现,减少了完全检索不相关文档的需求 UPDATE 和 REPLACE 操作 在扫描文档时过早修剪不匹配的文档会直接应用过滤条件,这样就可以避免将不满足过滤条件的文档复制到 AQL 范围中 即将发布的 ArangoDB 3.6 中,在现有的文本分析器中增加了对边缘 n-gram 的支持,以支持基于单词的自动完成查询。n-gram 分析器还通过 UTF-8 支持以及标记输入序列开始/结束的功能得到了增强。还添加了两个启用动态搜索表达式的新功能:TOKENS() 和 PHRASE() 函数通过 AQL 中的数组比较运算符接受数组和表达式。 更新说明:https://www.arangodb.com/201...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- 设置Eclipse缩进为4个空格,增强代码规范
- Mario游戏-低调大师作品
- MySQL8.0.19开启GTID主从同步CentOS8
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8编译安装MySQL8.0.19
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合Redis,开启缓存,提高访问速度