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

标签 javascript ember.js link-to query-string

我会用例子来解释它

{{#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/

相关文章:

javascript - 在 ajax :beforeSend (link_to)? 中添加额外数据

javascript - 将对象从 SQL 查询函数传递到单独的函数

javascript - Pure JS//当另一个div类被改变时隐藏div

javascript - 计算属性中 `property.[]` 和 `property` 之间有什么区别

ruby-on-rails - 需要在 Mailer View 中将语言环境添加到 link_to 语句

html - 在 Rails link_to 中添加 span 标签

javascript - tsc out 创建空输出文件

javascript - 如何避免 JS 代码上的 chrome 自动播放策略?

jquery - 点 "modal"功能不适用于所选元素/Ember/Bootstrap

javascript - Ember.js 应用程序的位置