Мы привыкли создавать переменные protected
, которые используются только в компоненте и его подклассах, но не в шаблоне.
Это особенно полезно, если в вашем классе 10 переменных, а с protected
private
и public
очень легко узнать, какие переменные используются в шаблоне.
@Input() public disablePlus: boolean = false;
@Input() public disableMinus: boolean = false;
@Input() protected jumpSize: number = 1000;
Теперь я собираюсь создать тестовый модуль для этого компонента.Но я не могу активно изменить эти значения внутри моего it
метода:
it('should change jumpSize to 5000', () => {
component.jumpSize= 5000;
// ts2445: Property `jumpSize` is protected and only accessible within class and its subclasses
...
});
it('plus should be disabled', () => {
component.disablePlus= true; // no error
...
});
Есть ли способ оставить jumpSize protected
или мы должны изменить его на public
?
Или вы думаете, что наш подход с protected @Input
полями в любом случае глуп и не очень полезен?
Я благодарен за любой совет.