角度アプリケーションのアクセス許可を制御するためにngx-permissionsライブラリを使用することをおすすめします。 DOMから要素を削除し、遅延読み込みがサポートされ、それ以外の構文もサポートされるという利点があります。テンプレート
<ng-template [ngxPermissionsOnly]="['ADMIN']">
<div>You can see this text congrats</div>
</ng-template>
<div *ngxPermissionsOnly="['ADMIN'']">
<div>Admin will see this</div>
</div>
<div *ngxPermissionsExcept="['JOHNY']">
<div>All will see it except Johny</div>
</div>
におけるローディング権限
import { Component, OnInit } from '@angular/core';
import { NgxPermissionsService } from 'ngx-permissions';
import { HttpClient } from '@angular/common/http';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
constructor(private permissionsService: NgxPermissionsService,
private http: HttpClient) {}
ngOnInit(): void {
const perm = ["ADMIN"];
this.permissionsService.loadPermissions(perm);
this.http.get('url').subscribe((permissions) => {
//const perm = ["ADMIN", "EDITOR"]; example of permissions
this.permissionsService.loadPermissions(permissions);
})
}
}
使用の 例