2

角 5.2.8 打字稿 2.6.1 CLI 1.6.8

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

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

但是属性“状态”是在 ModuleBaseComponent 中声明的字段。如果从受保护更改为公共,它就解决了,但是受保护关键字的用途是什么!

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中使用的变量。

请有人在上面提供建议

4

1 回答 1

3

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

角文件

编译器只能引用导出的符号。

装饰的组件类成员必须是公共的。您不能将 @Input() 属性设为私有或内部。

数据绑定属性也必须是公共的。

于 2018-03-31T23:22:14.513 回答