我需要在*ngIf
内访问我的网址路径。我尝试过以下方法:
import { ActivatedRoute } from '@angular/router';
@Component({
selector: 'my-app',
providers: [],
templateUrl: 'app.component.html'
})
export class AppComponent implements OnInit {
constructor(public route: ActivatedRoute) {
}
}
在我的HTML / Pug中:
div(*ngIf='route.firstChild?.url?.value[1]?.path == "somePath"')
当我使用angular cli构建它时它确实有效,但当我尝试使用aot构建它时,我收到以下错误:Property 'value' does not exist on type 'Observable<UrlSegment[]>'
似乎我不允许直接访问*ngIf
内的可观察值
答案 0 :(得分:1)
并不是你不能直接访问observable的值,而是当浏览器初始化视图时,observable的值是未定义的。这通常是Observables的工作方式,因为它们本质上是异步的。
我可以想到两种方法来解决这个问题: