Повторное использование той же переменной для пользовательского ввода в angular

#angular #forms #input

#angular #формы #ввод

Вопрос:

У меня есть два пользовательских ввода, как показано ниже:

 <custom-input [name]="'lastName'" [customErrorMessage]="errorMessage" (valueChange)="lastNameChange($event)">
</custom-input>
<custom-input [name]="'firstName'" [customErrorMessage]="errorMessage" (valueChange)="firstNameChange($event)">
</custom-input>
  

Как вы можете видеть, я использую одну и ту же переменную errorMessage как для имени, так и для фамилии.
Это работает нормально, т.е. когда я меняю имя, появляется только ошибка для имени и аналогично для фамилии. Хотя он указывает на ту же переменную, кажется, что она работает нормально.
Есть ли какой-либо случай, когда это не сработает?
Вот код для компонента пользовательского ввода:

 @Component({
  selector: 'custom-input',
  templateUrl: './input.component.html',
  styleUrls: ['./input.component.scss'],
  providers: [MyService]
})


export class InputComponent extends FormComponent implements OnInit, OnChanges, AfterViewChecked, AfterViewInit, OnDestroy {

     @Input() customErrorMessage;
}
  

Комментарии:

1. Пожалуйста, покажите код компонента пользовательского ввода

2. Я предполагаю, что customErrorMessage — это строка — не функция, не сервис или что-то подобное — итак, ваши компоненты независимы: у каждого есть свои собственные переменные. Я не понимаю, как это не сработает, если это объект, и объект отображается в зависимости от свойства собственного объекта

3. О чем здесь беспокоиться? Совместное использование данных между компонентами является распространенным вариантом использования. Я не вижу ничего плохого в этой концепции.

4. @Eliseo Да, это строка, но она не определена в компоненте place для пользовательского ввода. Это определено в текущем компоненте. Я предполагаю, что это сбивало с толку одно и то же имя customErrorMessage , я переименовал errorMessage .