我的应用程序正在另一个应用程序中出现,我不能在url中附加任何内容,因为父应用程序是限制的。
有没有办法可以停止在网址中附加内容。我可以通过this.router.navigate(value, true);
我想在@angular:2.0.1和html中做同样的事情,而不是在我的typescript类中,通过定义一个方法并调用它(点击)。
答案 0 :(得分:2)
听起来像是在寻找skipLocationChange
:
router.navigate(['team', 33, 'user', 11], {relativeTo: route, skipLocationChange: true });
另见https://angular.io/docs/ts/latest/api/router/index/Router-class.html
答案 1 :(得分:2)
skipLocationChange:true阻止angular2在URL中附加任何内容。正如@GünterZöchbauer建议的那样,您需要传递skipLocationChange:true,因为默认值为false。
完整代码将是:
import { Router } from '@angular/router';
export class MovingInPages {
constructor(private router: Router) {
}
moveToAnotherPage(value: string) {
this.router.navigate([value], { skipLocationChange: true });
}
}
html如下所示:
<button type="button" (click)="moveToAnotherPage('another-page-route')" class="btn btn-primary">Another page</button>