我有一个标题组件,我将几个布尔变量设为true,以使按钮在html中可见。所以基本上在角度1.x我们在location.path上使用watch。但在角度2中,我知道我们没有手表。当我探索更多关于如何实现这一点时,我遇到了诸如变化检测,ngOnChange,Observable,router.subscribe等主题。我是Angular 2的新手并使用Angular 2.0.0-beta.15。我无法理解哪个主题我应该阅读以找到解决方案。有人可以帮助我哪个主题与我的情况相关吗?
答案 0 :(得分:2)
import {Router} from 'angular2/router';
@Component({
.....
})
export class YourCmp {
someVar: boolean = false;
constructor(private router: Router){
this.router.subscribe(() => {
// this code will run on every route change
// do what you want, here
this.someVar = !this.someVar;
});
}
}
答案 1 :(得分:2)
如果你在版本3.0.0-beta.2中使用@ angular / router.2他们已经改变了订阅的方法
import {Router} from "@angular/router";
@Component({
.....
})
export class YourCmp {
constructor(private router: Router) {
this.router.events.subscribe(route => {
console.log(route.url);
});
}
}