如何带参数返回到上一页?

9
我想返回到之前的页面并附带一些参数。您有任何建议,我该如何做到这一点?
import {Location} from '@angular/common';
   returnToPreviousPage(){
        this._location.back();
    }

所以我想要的是这样的东西:
this._location.back(id:123);

当我返回页面时,会出现以下类似的内容:www.test.com?d=123


使用 router.navigate - n00dl3
我不知道我来自哪个页面...因此我不知道该重定向到哪里。 - None
我需要传递ID..该ID将在每个页面上处理 - None
有些人可能期望的是这样的情况:假设你正在test.com?id=12321313,而你想要回到test2.com?id=12321313。请给出一个问题的例子,以便更好地理解,而不是仅停留在理论上。 - mayur
是的,所以当我回去时,我想要添加参数 ?id=1233123。 - None
显示剩余5条评论
1个回答

4

如果您在使用 this._location.back() 返回上一页时,只需要向该函数传递一个索引即可。这个索引表示您想要从浏览器历史记录中返回多少个页面。

例如:如果您想要返回两个页面

this._location.back(2);

使用查询参数返回示例

this.router.navigate(['/test2', { id: 12321313}]);

检查在@angular\common.js中是否存在Angular 2声明函数location.back()

class Location {
     /* Navigates back in the platform's history.*/
     /* @return {?} */

    back() { this._platformStrategy.back(); }
 }

总之,您正在尝试使用this._location.back(2)与window.history.back()相同,并且仅接受您想要从浏览器历史记录中返回的索引值。

如果我使用router.navigate,我需要检测我是从哪个页面来的...因为我可能来自不同的页面。 - None
那并不能解决我的问题。 - None
2
@None 无法使用 this._location.back() 返回带有查询参数的页面。 - mayur

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接