写点什么

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:241672
用户头像

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

关注

评论

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

5G+实时云渲染:交互实时云看车革新购车体验

3DCAT实时渲染

5G 汽车之家 汽车 元宇宙 实时云渲染

【Spring 学习笔记(一)】第一个Spring程序与IoC思想

倔强的牛角

6月月更

华为云GaussDB首席架构师冯柯:摘取皇冠上的明珠,华为云数据库的创新与探索

华为云开发者联盟

数据库 华为云 GaussDB 国产数据库

函数节流和函数防抖和他们的区别

工边页字

JavaScript 性能优化 前端 6月月更

2022年中国新能源汽车换电市场发展洞察

易观分析

新能源汽车

哈希游戏开发竞猜系统哈希值hash算法

薇電13242772558

哈希算法

一篇文章带你彻底了解哈希表

武师叔

算法 哈希表 6月月更

【LeetCode】 删除二叉搜索树中的节点Java题解

Albert

LeetCode 6月月更

【高并发】在高并发环境下该如何构建应用级缓存?

冰河

并发编程 多线程 高并发 异步编程 6月月更

【云服务器】云计算平台的架构是什么样的?

Finovy Cloud

云服务器 GPU服务器

直播回顾 | 7000字干货,深析区块链+汽车供应链金融的应用价值

旺链科技

区块链 产业区块链 供应链金融

这个API文档,太拽了吧!

Liam

前端 Postman API API文档 开放api

应用流程挖掘,发现潜在RPA可实施的场景,助力银行优化业务流程

易观分析

RPA

选择天翼云混合云管理平台的五大理由

天翼云开发者社区

使用 LakeSoul 构建实时机器学习样本库

Geek_a02d1e

机器学习 大数据 开源 新基建 湖仓一体

AI“爷青回”:一键找回童年记忆

最新动态

Java 中三大类数据类型

迷篱

玩转云端|一文读懂天翼云CDN升级重点

天翼云开发者社区

多模态语义检索 | 基于 MetaSpore 快速部署 HuggingFace 预训练模型

Geek_a02d1e

机器学习 深度学习 开源 AI 多模态

龙蜥开发者说:不忘初心,方得始终 | 第 7 期

OpenAnolis小助手

开源 cpu 龙蜥开发者说 飞腾 不忘初心

科创人·神州数码集团CIO沈旸:最佳实践模式正在失灵,开源加速分布式创新

科创人

数字先锋| 天翼云牵手中能融合

天翼云开发者社区

撑算力之帆,天翼云助力数字时代逐潮者远航

天翼云开发者社区

博云容器云产品族:如何实现让“Any APP on Any Kubernetes”?

BoCloud博云

云原生 容器云

当AI抄起了水表

华为云开发者联盟

人工智能 modelarts workflow 智能水务

leetcode 417. Pacific Atlantic Water Flow 太平洋大西洋水流问题

okokabcd

LeetCode 搜索 数据结构与算法

InfoQ 极客传媒 15 周年庆征文|一文读懂分布式系统本质:高吞吐、高可用、可扩展

No Silver Bullet

架构 分布式系统 可扩展 6月月更 InfoQ极客传媒15周年庆

样品管理系统解决方案

低代码小观

Lims LIMS实验室信息管理系统 LIMS系统

Flutter 图片库重磅开源!

阿里巴巴终端技术

flutter 开源 native 客户端

天猫精灵语音技能单轮对话表达式的参数定义

汪子熙

人工智能 机器学习 聊天机器人 机器人 6月月更

移动平台打造新生态 | 助力企业跨业务、一站式、全场景的系统建设

BeeWorks

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