gpt4 book ai didi

angular - 无法绑定(bind)到指令 ('appHasAccess' ),因为它不是 'input' 的已知属性

转载 作者:行者123 更新时间:2023-12-02 10:40:50 36 4
gpt4 key购买 nike

我创建了一个自定义属性指令库包并将其安装到 myProject 中,当我尝试使用此自定义指令时会引发错误。

ERROR Error: Uncaught (in promise): Error: Template parses errors: Can't bind to 'appHasAccess' since it isn't a known property of 'input'.

我使用的代码如下:

all possible try I have done. any have an idea how I resolve this.

<强>1。指令:HasAccessDirective.ts

@Directive({
selector: '[appHasAccess]',
})

export class HasAccessDirective {

accessDetail = { 'a': 1 }
@Input('appHasAccess') set appHasAccess(accessDetail: any) {
// Based on right control enable/disable
this.eleRef.nativeElement.disabled = this.appRights.hasRights(accessDetail);
}
constructor(private eleRef: ElementRef,
private appRights: MyService) { }
}

<强>2。模块:DigiUserRightsModule.ts

   @NgModule({
declarations: [
HasAccessDirective
],
imports: [
CommonModule,
HttpClientModule,
],
exports: [
HasAccessDirective
],
providers: [UserRightsService]
})

export class DigiUserRightsModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: DigiUserRightsModule,
providers: [UserRightsService]
};
}
}

最佳答案

我做了以下更改以使其正常工作。我将指令模块注入(inject)到我的用户模块而不是应用程序模块中。用户模块在其加载的路线上延迟加载并且工作正常。

  • 在用户模块中设置我的指令包模块:

    import { NgModule }      from '@angular/core';       

    @NgModule({
    declarations: [],
    imports: [
    DigiUserRightsModule.forRoot()
    ],
    providers: []
    })

    export class UserModule {}

关于angular - 无法绑定(bind)到指令 ('appHasAccess' ),因为它不是 'input' 的已知属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49942451/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com