写点什么

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

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

关注

评论

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

jar包的精细化运营,Java模块化简介 | 京东云技术团队

京东科技开发者

Java Java9 模块化 jar包

飞码LowCode前端技术:如何便捷配置出页面 | 京东云技术团队

京东科技开发者

前端 低代码 低代码平台 企业号11月PK榜

治理效率提升77%!揭秘基于DataLeap实时健康分的最佳实践

字节跳动数据平台

数据库 数据治理 数据安全 数据研发 企业号11月PK榜

全网累计销量TOP 1的TCL超薄嵌入式冰箱,跟着选0出错!

科技热闻

MegEngine 9-10 双月报:新版本发布,AI 生态升级,不容错过!

MegEngineBot

深度学习 开发者 开源社区 MegEngine

一站式IT统一运维管理平台有哪些?大家都在用哪个?

行云管家

IT运维 运维管理 统一运维

趋势:国产数据库发展的五个一体化

科技热闻

日常数字生活中,手机里的隐私信息是如何被保护的?

最新动态

After Effects 2024 for Mac(ae视频特效制作工具)

展初云

Mac软件 视频编辑 AE After Effects

Kontakt Factory Library 2(Kontakt原厂音色库)

展初云

Mac软件 音色库 Kontakt

探秘英伟达显卡的制造之路 | 英伟达断供GPU,中国大模型何去何从?

GPU算力

Windows、Linux 和 Mac:操作系统之间的比较

小齐写代码

活动回顾|OpenTiny 参与线下大会:共创开源未来,助力低代码技术创新

OpenTiny社区

开源 前端 低代码 UI组件库

可跨平台数据库多连管理工具:Navicat Premium 16 中文版

繁星

数据库管理 Navicat Premium 16

KubeEdge-Ianvs v0.2 发布:终身学习支持非结构化场景

华为云开发者联盟

云计算 云原生 后端 华为云 华为云开发者联盟

安全审计 合约审计:代币开发公司的一个关键方面

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发

PCB设计安规丨电气间隙与爬电距离要点

华秋电子

【实践篇】一次Paas化热部署实践分享 | 京东云技术团队

京东科技开发者

热部署 PaaS平台化能力 企业数字化 PaaS 平台 企业号11月PK榜 Paas化

深度开发者故事|API Explorer 助力教育行业 一站式搭建实验环境

华为云PaaS服务小智

云计算 软件开发 华为云

犀牛Rhino 8 for Mac(3D建模软件)

展初云

Mac 建模软件 Rhino 犀牛

龙芯浏览器是哪家公司开发的?支持信创吗?

行云管家

浏览器 信创 国产化 龙芯浏览器

机械加工行业云MES解决方案

万界星空科技

工业互联网 制造业 生产管理系统 mes 机械臂

观测云产品更新 | 单点登录新增 OIDC / Oauth2.0 协议、数据转发优化、场景优化等

观测云

可观测性 单点登录 #数据分析

Nginx 知识点一网打尽:动静分离、压缩、缓存、跨域、高可用、性能优化

郑在暴富中

nginx 高可用 反向代理

vivo 网络端口安全建设技术实践

vivo互联网技术

网络端口风险治理 端口扫描 流量行为基线 端口管理规范 漏洞扫描平台

您的代理记账企业的数字化保卫和合作伙伴-智慧云

知者如C

Parallels Desktop 19 虚拟机 一键激活 无需关闭sip

繁星

pd虚拟机 Parallels Desktop 19 pd虚拟机 19

深入理解 Dubbo 协议的调试方法与实践

Apifox

Java 程序员 dubbo 后端 RPC

如何在嵌入式软件开发的过程中使用DevSecOps方法,提升开发效率与安全性

龙智—DevSecOps解决方案

DevOps DevSecOps

组态软件特点及工控组态软件应用

2D3D前端可视化开发

物联网 组态软件 PLC 工业控制系统 web组态编辑器

万界星空科技MES与WMS如何集成的?

万界星空科技

数字化转型 工业互联网 wms mes 3D仓库

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