使用ember阻止将queryParams添加到浏览器历史记录中

时间:2015-08-18 16:02:24

标签: ember.js ember-data

我尝试在路由之间转换时删除queryParams以添加到我的网址,但是失败了。我按照文档中的说法做了。

在我的路由器中:

queryParams: {
    status: {
        refreshModel: true,
        replace: true
    },
    itemCount: {
        refreshModel: true,
        replace: true
    },
    email: {
        replace: true
    }
}

那没有用。

我也是在m link-to helper中做到了这一点:

{{#link-to 'conversations' subuser.email (query-params email=subuser.email status='opened') replace=true}}

......那并没有起作用。 Ember继续在网址上添加参数,有什么建议吗?

编辑:

我在控制器中定义了我的params,因为它应该是:

queryParams: ['status', 'itemCount', 'email'],
status: 'opened',
email: window.preloade_ajax['email'],
itemCount: 0

2 个答案:

答案 0 :(得分:0)

您实际上正在使用refreshModelreplace,目前EmberJS目前不支持。

相关问题是:

我希望很快能解决这个问题。

答案 1 :(得分:0)

可能会迟到,只是张贴,因为它可能会帮助其他人。如果我理解你的问题,Ember route的钩子resetController应该可以帮助你。

resetController: function (controller) {
    var queryParams = controller.get('queryParams');
    queryParams.forEach(function (param) {
        controller.set(param, null);
    });
}