ember.js - 重置/删除 Ember.js 查询参数和链接到帮助程序问题

标签 ember.js

我正在编写 Ember.js 应用程序,但在使用查询参数时遇到了一个小问题。

我有以下型号:
项目、类别和设计师。项目可以属于单个类别,并有多个设计器。

我在我的项目 Controller 上使用计算属性根据选择的类别或设计器过滤掉项目。一切正常,除了以下几点:

有一个类别列表(链接到以 category.slug 作为查询参数的“项目”路由),我用它来过滤项目 {{#link-to 'projects' (query-params category=category.slug)}} ,例如,#/projects?category=product .在该列表的顶部,我放置了一个链接,该链接指向一个干净的“项目”路线,希望可以重置/删除“类别”查询参数,但该链接似乎总是通向具有当前事件查询参数的“项目”路线。因此,例如,如果我正在查看 #/projects?category=product干净的“项目”路由链接和“项目(查询参数...)”链接表现为事件链接,这是一个问题。

我知道这可以通过在“干净”路由的链接助手中放置类别参数的默认值来解决,但我想避免这种情况,因为设置 category='all'或类似的东西对我来说有点奇怪。有没有办法通过使用链接帮助程序强制查询参数消失?我知道这可以通过在 Controller 上创建一个操作并将查询参数相关属性设置为 null 来完成,但它仍然不是一个优雅的解决方案,因为我必须伪造一个链接。

另外,如果有第二个以相同方式工作的设计师列表,那么让查询参数仅为“类别”或仅为“设计师”而不是两者的最简单方法是什么?我想避免在这个用例中使用粘性参数,所以没有像 #/projects?category=product&designer=john 这样的东西.

谢谢!

最佳答案

andyhot 建议在 his post在 EmberJS Discourse 上,我做了以下事情来获得我需要的东西:

为默认值添加 Controller 属性:

defaultCategory: null

然后在链接到帮助程序中
(query-params category=defaultCategory)

这是一种解决方法,但确实有效。

关于ember.js - 重置/删除 Ember.js 查询参数和链接到帮助程序问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25828017/

相关文章:

ember.js - 将文本字段绑定(bind)到 ember 中的模型的最佳方法

ember.js - 无法从 subview 访问父模型

ember.js - 反序列化和规范化有什么区别?

unit-testing - Ember 路线单元测试中未知的 `service:session` 注入(inject)器

ember.js - 无法在 ember Controller 中导入环境配置

ember.js - Rails 使用 ember-template-compiler 预编译失败

performance - Emberjs 中最大的性能问题是什么?

macos - 守望者 com.github.facebook.watchman.plist : Operation not permitted

ember.js - 当用户按 Enter 键时,Ember 刷新页面上的输入

javascript - 如何分离主干/ Ember 组件?