我是 angular 的新手,我想尝试在它上面构建我的应用程序。我只有一个普通的两页应用程序。我可以看到路由行为正常,但是我可以看到当我从键盘上按回时,我回到了登录页面。
login -> homepage,后退按钮按下 homepage -> login
现在我想从堆栈中删除登录页面,所以当我们回击键盘时,它什么也不做。就像每次访问此类页面时从堆栈中删除上一页一样。我不希望我的用户在login page没有注销的情况下返回。
主页:
//going to the home page with this click on the button
<button type="submit" class="btn btn-primary" (click)="submit()">Submit</button>
submit(){
(<any> window).location = '/home';
}
Run Code Online (Sandbox Code Playgroud)
对于logout,我只是在做同样的事情:
登出:
<div class="logout-link col-4">
<a routerLink="/">Logout</a>
</div>
Run Code Online (Sandbox Code Playgroud)
到目前为止我尝试过的是这样做:
//homepage logout button
[routerlink] = "['/', {clearhistory: true}]" //This disabled the route functioning at all, I could not go to home by tapping on the logout button.
//loginpage submit button
submit(){
this.route.navigate(['/home'], {clearhistory: true}) //did nothing I can again come back with the keyboard back
}
Run Code Online (Sandbox Code Playgroud)
有什么方法可以实现我想要实现的目标。谢谢
Bra*_*don 10
您正在寻找的选项是replaceUrl。这将替换历史记录中的状态,您将无法返回到之前的 URL。
或者,您也可以使用skipLocationChange进行导航,而无需将状态推送到历史记录中。
this.route.navigate(['/home'], { replaceUrl: true });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1660 次 |
| 最近记录: |