У меня есть библиотека из компонента A и шаблона A.
В шаблоне А я связываю свойство компонента А через привязку innerhtml.
Существует функция populate (obj), которая получает объект 'options', а затем использует его для получения значения, полезного для установки свойства.
ComponentA.ts
@Component({
selector: 'lib-sqv',
templateUrl: './templateA.component.html'
})
export class SqvLibComponent {
seq: string;
populate(op: Options): void {
----some other functions---
this.seq = 'someData';
}
ComponentB.ts
@Component({
selector: 'app-root',
templateUrl: './templateB.component.html'
})
export class AppComponent implements OnInit {
ngOnInit() {
let options = { someValue }
const s: SqvLibComponent = new SqvLibComponent();
s.populate(options);
}
}
В TemplateB есть селектор .
Представление TemplateA отображается до того, как свойство this.seq получит значение.
Я заметил, что если я задаю значение this.seq внутри конструктора, это значение отображается в представлении.
Поэтому я пытаюсь передать параметры конструктору следующим образом:
ComponentB.ts
new SqvLibComponent(options);
А потом в ComponentA.ts
export class SqvLibComponent {
public constructor(public op: Options) {
this.populate(op);
}
}
Но это дает ошибки об объекте, который я пытаюсь передать.