gpt4 book ai didi

ember.js - Ember : same route, 不同的路径

转载 作者:行者123 更新时间:2023-12-01 11:29:33 24 4
gpt4 key购买 nike

我希望以 3 种不同的方式调用路由:

  this.route('issue', {path: '/foo/:param1'});
this.route('issue', {path: '/foo/:param1/:param2'});
this.route('issue', {path: '/foo/:param1/:param2/:param3'});

但是当我尝试链接到例如使用:

{{#link-to 'issue' issue.id issue.tag}}{{/link-to}}

我收到这个错误:

Error: You didn't provide enough string/numeric parameters
to satisfy all of the dynamic segments for route issue

我尝试更改路由器中的调用顺序,但没有成功。我想我对如何检测路线缺乏一些理解。有什么想法吗?

最佳答案

在这里使用查询参数可能更有意义。所以在路由器中只定义一条路由:

this.route('issue', {path: '/foo/param1'});

然后在 Controller 中为 param2 和 param3 定义查询参数:

export default Controller.extend({
queryParams: ['param2', 'param3'],
param2: null,
param3: null
});

然后您可以将这些用于 filter your data .我假设 param1 定义了实际模型,但 2 和 3 用于过滤,但您可以通过将所有三个移动到 queryParams 来使它们成为可选的。

您可以在链接助手中设置任意多个(或不设置)查询参数:

{{#link-to "posts" (query-params direction="asc")}}Sort{{/link-to}}

这里有一些关于查询参数的文档,在我看来这是 Ember 最酷的功能之一:http://guides.emberjs.com/v2.2.0/routing/query-params

关于ember.js - Ember : same route, 不同的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33943719/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com