写点什么

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

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

关注

评论

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

ECRobot 深耕 AI 应用场景落地!伊克罗德信息成功签约两大行业标杆客户

伊克罗德信息科技

“一切皆文件”:揭秘LINUX I/O与虚拟内存的底层设计哲学

poemyang

Linux RPC I/O模型

Dify 企业版 3.2.0 重磅发布:开启智能应用构建新纪元!

伊克罗德信息科技

工业管理 团队建设经验总结(5)

万里无云万里天

团队建设 工业 工厂运维

Python版本进化史:从3.6到3.14,每个版本都带来了什么惊喜?

程序员晚枫

Python

语音识别技术实战:从iOS到GPT的优化之路

qife122

自然语言处理 语音识别

在VS Code IDE中通过LocalStack集成加速无服务器测试

qife122

AWS LocalStack

实测谷歌Veo 3.1视频模型!附零门槛免费使用攻略和提示词

阿星AI工作室

产品 AI 产品经理 大模型 AI视频

DolphinScheduler 3.1.9 单机版重启后,项目、流程定义等数据全部丢失

白鲸开源

大数据 开源 Apache DolphinScheduler 工作流任务调度

征程 6 | BPU trace 简介与实操

地平线开发者

自动驾驶; 算法工具链 地平线征程6

在AI技术快速实现创意的时代,挖掘邮件营销系统新需求成为关键突破点

qife122

开源项目 需求分析

英特尔联动「扣子 AI 工坊」启动高校计划——让校园创意一键开挂

新消费日报

有哪些可离线使用的白板软件?6个主流的白板工具汇总

职场工具箱

人工智能 效率工具 在线白板 办公软件 AIGC

新兴数据湖仓手册·从分层架构到数据湖仓架构(2025):数据仓库分层的概念与设计

白鲸开源

大数据 数据仓库 数据湖 白鲸开源 WhaleStudio

SpringBoot 3.x 集成 Flowable 7.x:流程设计、部署、启动及完成实战

Geek_e3e86e

编程 java面试

高性能智算网关打通 GPU 集群与 AI 存储高速链路,硬件成本直降 95%

Baidu AICLOUD

OAuth/OpenID Connect 渗透测试完全指南

qife122

网络安全 Oauth

Python 3.14发布:多解释器让性能飙升300%,GIL时代即将终结!

程序员晚枫

Python

从零开始:手把手教你在 AskTable 中连接和管理数据源

察言观数 AskTable

数据库 大数据 数据分析 数据管理

FastDFS 可观测性最佳实践

观测云

fastdfs

吃透 DolphinScheduler 负载均衡:3 大核心算法 + 底层逻辑全解析

白鲸开源

大数据 开源 算法 Apache DolphinScheduler 数据调度

用了天润融通AI之后才知道,原来以前的客服真苦

天润融通

重新定义网络安全职业:从"解决问题"的角度出发

qife122

网络安全 问题解决

“全球金牌课程”11月08-09日·上海线下·CSM认证【提前报名特惠

ShineScrum

Scrum Master CSM CSM认证 CSM认证培训

金融级稳定性:ETLCloud如何保障千万级数据的准确同步

谷云科技RestCloud

kettle 数据传输 数据同步 ETL 数据集成工具

云栖实录 | 从多模态数据到 Physical AI,PAI 助力客户快速启动 Physical AI 实践

阿里云大数据AI技术

阿里云 nvidia PAI

利用Next.js中间件漏洞实现SSRF攻击与RCE

qife122

SSRF 漏洞挖掘

代码·创想·未来——百度文心快码创意探索Meetup来啦

Comate编码助手

工程师 AI 编程 文心快码 AI编程助手

java遍历hdfs路径信息,报错EOFException

刘大猫

人工智能 云计算 大数据 算法 物联网

传帮带 人才梯队建设经验总结(13)

万里无云万里天

人才培养 工业 工厂运维

手撕大模型 | MQA 和 GQA 原理解析

地平线开发者

自动驾驶; 算法工具链 地平线征程6

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