Я использую следующий фрагмент кода для динамического создания компонента. Наряду с компонентом dynamic c я также передаю данные, которые я привязываю к элементу html динамически сгенерированного компонента.
const hostViewContainerRef = this.Host.viewContainerRef;
let compFactory = this.componentfacResolve.resolveComponentFactory(DynamicComponent);
const compRef = hostViewContainerRef.createComponent(compFactory );
compRef.instance.DataOrig = _.cloneDeep(this.myData);
И я использую атрибут @input для сбора данных в сгенерированном компоненте
@Input()
public DataOrig : MyModel;
До этого момента все работает нормально, он выполняет рендеринг компонента, а также передает данные . Но если я попытался изменить значение в «DataOrig», например
DataOrig.firstname = "Changed First Name"
, я получаю сообщение об ошибке «Не удается добавить имя свойства, объект не расширяемый», а для некоторых других полей я получаю «Невозможно назначить только для чтения. свойство 'другие поля' объекта "
Но вместо компонента Dynami c, если я использую другой тег компонента stati c, тогда все работает нормально. Нужно ли мне уделять особое внимание динамически сгенерированному компоненту?