我有一个按钮,仅在用户具有编辑权限时才显示。要对此进行检查,我需要调用另一个服务,结果存储在Observable<Boolean>
中。
我正试图这样做,但它不起作用:
<button md-mini-fab [disabled]="(blockButtonAsync() | async)" ...
方法是:
blockButtonAsync(): Observable<Boolean> {
return this.http.get(this.restGetUserRoles)
.map(res => {
return res.json() || [];
})
.map(roles => roles.indexOf('ROLE_EDITOR') === -1);
}
答案 0 :(得分:0)
您需要创建可观察变量并在模板中使用
// Ts code
$blockButton:Observable<boolean>;
ngOnInit() {
this.$blockButton = this.http.get(this.restGetUserRoles)
.pipe(
map(roles => roles.indexOf('ROLE_EDITOR') === -1)
);
}
//Html code
<button md-mini-fab [disabled]="$blockButton | async)">
尝试一下。可能有效