在step by step dev之后,我试图隐藏未授权按钮。
这是phoneBook.component.html中按钮的代码:
<button *ngIf="'Pages.Tenant.PhoneBook.CreatePerson' | permission" class="btn btn-primary" (click)="createPersonModal.show()"><i class="fa fa-plus"></i> {{l("CreateNewPerson" | localize)}}</button>
运行项目时,我在控制台中收到该错误:
ERROR Error: "Uncaught (in promise): Error: Template parse errors:
The pipe 'permission' could not be found ("
</div>
<div class="col-sm-6 text-right">
.......
我该如何解决这个问题?
答案 0 :(得分:2)
Custom pipes need to be created and imported into module. 可以像这样使用管道:
<button *ngIf="(Pages?.Tenant?.PhoneBook?.CreatePerson' | permission).length === 0"
class="btn btn></button>
然后您的管道应如下所示:
@Pipe({name: 'permission'})
export class PermissionPipe implements PipeTransform {
transform(value: number, exponent: string): number {
...
return ...;
}
}
以及模块中的声明:
import { LabTestService } from './lab-test/lab-test.service';
import { PermissionPipe } from './...';
@NgModule({
declarations: [
AppComponent,
PermissionPipe
],
imports: [
NgbModule.forRoot(),
BrowserModule,
FormsModule
],
...
bootstrap: [ AppComponent ]
})
export class AppModule { }
答案 1 :(得分:0)
在链接的代码中,它们使用“权限”作为数据。
所以我认为他们做错了。他们不想在这里有管道,但不想从后面获得布尔数据。
所以可能是<div *ngIf="... || permission">
(它们的github链接已死,因此无法获得清晰的代码)