在我的ng2应用程序中,我有一个带有this.location.back()的后退按钮。它基本上像Web浏览器的后退按钮一样工作。但是,当我回到ng2应用程序启动时,我希望后退按钮不会执行后退功能,后退按钮将显示为灰色,就像Web浏览器的后退按钮一样?
答案 0 :(得分:1)
在Angular RC4路由器中,您可以通过调用router.url
constructor(private router:Router) { console.log(this.router.url); }
只需将支票添加到[disabled]
属性绑定。
<button [disabled]="this.router.url === '/somePath'">Back</button>
编辑:
如果要在导航到应用程序之前禁用该按钮,请通过调用以获取当前窗口历史记录:
initLength = window.history.length
初始化应用程序时。
现在在某些服务中创建一个函数,后退按钮可以在每次用户希望导航时调用,并在当前window.history.length == initLength
时禁用它。
someBackMethod() {
if(window.history.length == initLength) {
someBool = false;
}
else {
window.history.back();
}
}
最后设置[disabled]属性绑定。
<button [disabled]="someBool">Back</button>