写点什么

Ember 1.7 之查询参数

  • 2014-09-16
  • 本文字数:1277 字

    阅读完需:约 4 分钟

Alex Navasardyan 向 JavaScript 社区宣布 Ember.js 1.7 版本发布了。

Navasardyan 是 Ember.js 发布团队的成员之一,他在文中写道新版本带来了“bug 修复,潜在的重大修改以及新特性”。

Ember.js 1.7 版本的众多新特性之一是支持查询参数。在文章“Ember 1.7.0 和 1.8 Beta 正式发布”中,Navasardyan 由衷感谢 Alex Matchneer 和他的 Ember.js 核心团队,他描述该特性时说:

有了该 API,每个查询参数就和控制器的属性绑定在了一块,如此 URL 中查询参数一旦发生变化(比如,用户点击返回按钮),控制器中的属性也随之更新,反之亦然。

查询参数 API 在维护与 URL 的绑定时,需要处理很多 Navasardyan 称之为“非常复杂的方方面面”。

以上所说的方方面面包括:将 URL 中新的查询参数值转换为控制器属性所需要的数据类型;省略 URL 中默认的查询参数值,以避免默认值对 URL 产生不必要的干扰;将多个控制器属性的变化合并为单一的 URL 更新。

其他发布的新特性包括可嵌套路由,解除了只有 this.resource 才能有嵌套子路由的限制。针对该变化,Navasardyan 说,

this.route 可以像 this.resource 那样被嵌套,但是与 this.resource 不同,子路由的命名空间会追加到父路由后面,而不是重置为顶级命名空间。

在 Ember.js 讨论区,当提前得知发布查询参数功能后,用户 Jinshui Tang评论说此功能“解决了自己应用中与分页相关的部分最重要的问题”。

对查询参数的赞美还有来自Twitter 上的Ember 用户。 EmberSherpa 回应 Alex Matchneer 的发布声明时说“非常感谢团队发布了查询参数功能,这是自 1.0 版本发布之后最令人兴奋的事情”。

根据 Ember.js 1.7.0 更新日志,新版本还包括与控制器相关的变动,包括少量的重大更新和废弃功能:

现在 content 属性衍生自 model。这减少了对 model/content 的诸多说明,而且还设置了一个简单的基本规则:切勿设置控制器的 content,而是选择设置其 model,Ember 会正确处理其他的事情。

针对空数组:

为了与 if 保持一致,在 bind-attr 中空数组返回假值。那些依赖此行为的应用注意了,因为旧版本中处理正好相反,在 bind-attr 中空数组被认为是真值。

1.7 版本修复的 bug 列表中,摘要一部分如下:

  • 使用查询参数的控制器可以进行单元测试。
  • 控制器中新的查询参数在 setupController 之前已经存在。
  • makeBoundHelper 支持不带引号的绑定属性选项。
  • 如果当前值没有变化,SimpleHandlebarsView 不应该重新渲染。允许 Router DSL 通过 this.route 嵌入路由。

更详细的列表信息请阅读 Ember 1.7.0更新日志

另外根据Ember 1.8 beta 的声明,视图层的内部实现已经被重构,以及不推荐在Internet Explorer 6 和7 上使用Ember,因为在下个主要版本中会删除对IE 6 和7 的支持。

Ember.js 基于 MIT 协议发布。InfoQ 读者可以通过其 GitHub 项目向 Ember.js 贡献自己的力量。

查看英文原文: Ember 1.7 Brings Query Params to Community


感谢曹知渊对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-09-16 06:241517
用户头像

发布了 28 篇内容, 共 11.3 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

第三周架构师训练营作业

Geek_4c1353

极客大学架构师训练营

go-zero流数据处理利器

万俊峰Kevin

stream functional Go 语言

架构师训练营 1 期 - 第四周总结(vaik)

行之

极客大学架构师训练营

CPU 执行程序的秘密,藏在了这 15 张图里

小林coding

操作系统 计算机基础 计算机 编译器、程序语言、CPU 指令

甲方日常 27

句子

生活 工作 随笔杂谈 日常

典型互联网公司使用的技术

happy

架構師訓練營 week4 作業

ilake

架构师训练营第4周作业

悠哉

Spring学习笔记(一)手写一个简单的Spring

无语

Spring Framework

第9周总结

Vincent

极客时间 极客大学

第二周课后练习

大大猫

极客大学架构师训练营

数字人民币真的来了 六年历程全回顾

CECBC

数字货币 DCEP

spring-boot-route(十一)数据库配置信息加密

Java旅途

Java Spring Boot

第 4 周 系统架构总结

bearlu

系统架构

第三周课后练习

大大猫

极客大学架构师训练营

LeetCode题解:144. 二叉树的前序遍历,使用栈,JavaScript,详细注释

Lee Chen

大前端 LeetCode

第四周作业

Geek_4c1353

极客大学架构师训练营

架构师训练营 1 期 - 第四周作业(vaik)

行之

极客大学架构师训练营

浅析 Java 内存模型 三

朱华

Java volatile JMM

详解「区块链」溯源

netkiller

区块链 防伪 超级账本 标签 区块链产品溯源

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?

knight

Redis-技术专题-哨兵配置和原理

码界西柚

第4周 作业一

bearlu

spring-boot-route(十二)整合redis做为缓存

Java旅途

Java redis Spring Boot

《我想进大厂》之Redis夺命连环11问

艾小仙

Java redis 面试 程序语言

架构师训练营第 1 期 -week4

习习

架構師訓練營 week4 總結

ilake

架构师训练营 - 第四周作业

一个节点

极客大学架构师训练营

浅析 Java 内存模型 一

朱华

Java JMM

第9周作业

Vincent

极客时间 极客大学

架构师训练营 - 第四周总结

一个节点

极客大学架构师训练营

Ember 1.7之查询参数_JavaScript_James Chesters_InfoQ精选文章