gpt4 book ai didi

javascript - Ember js 链接到动态查询参数

转载 作者:行者123 更新时间:2023-11-27 23:21:13 26 4
gpt4 key购买 nike

我会用例子来解释它

{{#link-to item.targetUrl (query-params randomParam=value.id) class="link-wrap"}}abc{{/link-to}}

如果目标网址是 abc.xyz这会给我 href="#/abc/xyz?randomParam=2"

如何拥有动态参数??? randomParam 不会相同,它可能是 randomParm1 或 randamParm2 所以我想要如下所示的内容:

{{#each selectedTab.content as |item|}}

{{#each item.values as |value|}}
<li {{action 'itemSelect' item.targetUrl item.param }}>{{#link-to item.targetUrl (query-params item.param=value.id) class="link-wrap"}}{{value.desc}}{{/link-to}}</li>
{{/each}}

{{/each}}

这里的item.param是动态的。我并不是真的在寻找解决方法,因为我从模板中的操作中找到了使用 this.transitionTo 的解决方案。我正在寻找如何在 {{link-to}} 帮助程序中解决这个问题。

最佳答案

您可以将参数作为散列而不是位置参数传递(这就是您现在正在做的事情)。

所以你会做这样的事情:

// template.hbs
{{#link-to params=myParams}}
Some text
{{/link-to}}


// component.js
{
myParams: ['your.route.string']
}
<小时/>

现在,如果您有带有动态段或查询参数的更复杂的路线:

动态分割

如果您有动态网段,您的路由器可能如下所示:

// router.js
this.route('users', function(){
this.route('user', {path: '/:username'})
});

然后你会做类似的事情:

// template.hbs
{{#link-to params=myParams}}
Some text
{{/link-to}}


// component.js
{
myParams: ['users.user', 'SOME_USERNAME']
}

查询{arams

如果您有查询参数并且您的 Controller 如下所示:

// controller.js
{
queryParams: ['foo', 'bar']
}

然后你会做类似的事情:

// template.hbs
{{#link-to params=myParams}}
Some text
{{/link-to}}


// component.js
{
myParams: ['some.route.string, {
isQueryParams: true,
values: {
foo: 'some_value',
bar: 'another_value',
}
}]
}

请注意,查询参数对象必须位于数组的最后。因此,如果您也有一个动态段,它看起来像

myParams: ['some.route.string', 'someDynamicID', {queryObject}]

关于javascript - Ember js 链接到动态查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35348753/

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