Angular 防止更改输入值

Angular 防止更改输入值,angular,typescript,angular5,Angular,Typescript,Angular5,我们正在开发angular应用程序(使用angular 5) 我们的组件通常具有如下定义的输入和输出参数: export class MultipleItemPickerComponent implements OnInit { @Input() itemPickerHeaderText: string; @Output() multipleItemsPickerOkClick: EventEmitter<string[]> = new EventEmitter(); @

我们正在开发angular应用程序(使用angular 5)

我们的组件通常具有如下定义的输入和输出参数:

export class MultipleItemPickerComponent implements OnInit {
  @Input() itemPickerHeaderText: string;
  @Output() multipleItemsPickerOkClick: EventEmitter<string[]> = new EventEmitter();
  @Output() multipleItemsPickerCancelClick: EventEmitter<Event> = new EventEmitter();
<app-multiple-item-picker itemPickerHeaderText="{{question.texts['reason']}}" (multipleItemsPickerOkClick)="multipleReasonsPickerOkClick($event)" (multipleItemsPickerCancelClick)="multipleReasonsPickerCancelClick($event)"></app-multiple-item-picker>

我想防止对输入值进行任何更改。有什么方法可以做到这一点吗?

您可以将输入属性标记为“只读”,typescript编译器将阻止有人从构造函数外部更新类内部的输入值

@Input() 
public readonly itemPickerHeaderText: string;

这有点老套,但在你的情况下应该行得通。因为angular编译器不会抱怨它是只读的,typescript编译器也不知道angular输入绑定。

工作得很好。谢谢
@Input() 
public readonly itemPickerHeaderText: string;