gpt4 book ai didi

typescript - 在 Typescript 中标记为 protected 继承属性的 Angular 5 生产构建错误 - 'property does not exist on type' *Component

转载 作者:搜寻专家 更新时间:2023-10-30 21:28:02 24 4
gpt4 key购买 nike

角度 5.2.8 typescript 2.6.1命令行界面 1.6.8

如果使用 ng serve 在正常开发模式下运行,我的应用程序会生成构建文件。但是,当我运行 `ng build --prod 时,出现以下错误

Property 'status' is protected and only accessible within class 'ModuleBaseComponent' and its subclasses

但是属性“status”是在 ModuleBaseComponent 中声明的一个字段。如果从 protected 更改为 public 就解决了,但是 protected 关键字的用途是什么!

export class ModuleBaseComponent {
protected status = 'inactive';
...
}

@Component({
selector: 'app-themeA-preferences',
templateUrl: './../common/my-common-theme.component.html',
styleUrls: ['./my-themeA.component.scss']
})
export class MyThemeAComponent extends ModuleBaseComponent implements OnInit {}

通用 html 必须依赖组件,无论这个特定的 html 是通过装饰器中的 templateUrl 引用的。然后继承必须弄清楚html中使用的变量。

请有人可以就以上问题提出建议

最佳答案

在 AOT 模式下编译时,您在模板中使用的属性必须是公开的。

Angular Docs :

The compiler can only reference exported symbols.

Decorated component class members must be public. You cannot make an @Input() property private or internal.

Data bound properties must also be public.

关于typescript - 在 Typescript 中标记为 protected 继承属性的 Angular 5 生产构建错误 - 'property does not exist on type' *Component,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49593199/

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