如何将查询参数设置为我的所有路线,当它改变时-在恩伯

How to set Query Params to all my routes when it changes - in EMBER

本文关键字:改变 参数 查询 设置 我的      更新时间:2024-05-07

我有一个路由和一个动态子路由。我已经为我的子路由定义了queryParams{queryParams:{start:5}}。默认情况下,queryParam设置为5。所以我的路线是:

#/folders/1
#/folders/2
#/folders/3

现在,我动态地将子路由的queryParams更改为{queryParams:{start:10}}。现在,当前的子路线将是:

#/folders/1?start=10
#/folders/2
#/folders/3

在更改一个子路由的queryParams然后访问其他子路由后,我需要将所有子路由的queryParams设置为"10"。

#/folders/1?start=10
#/folders/2?start=10
#/folders/3?start=10

更改时如何更改所有路由的queryParams。

@模板:

<script type="text/x-handlebars" data-template-name="folders">
    <ul>
        {{#each item in model}}
            <li>{{#link-to 'folder' item.f_id}}{{item.f_name}} {{/link-to}}</li>
        {{/each}}
    </ul>
    <input type="button" value="Set Start Params" {{action "setStartParams"}}>
    {{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="folder">
    This is folder listing of Folder {{model.id}}
</script>

@JS代码:

App.Router.map(function() {
    this.resource('folders', function(){
        this.resource('folder', {path: '/:id'});
    });
});
App.FoldersRoute = Ember.Route.extend({
    model: function() {
        return [{'f_name': 'folder1', 'f_id': '1'}, {'f_name': 'folder2', 'f_id': '2'}, {'f_name': 'folder3', 'f_id': '3'}];
    },
    actions:{
        setStartParams: function(){
            this.transitionTo({queryParams: {start: '10'}} );
        }
    }
});

JSBIN链接

AFAIK在Ember中可以动态更改路线