Извините, если это дублированный вопрос, я искал решение в Интернете, но не смог его найти, поэтому публикую его. Я пытаюсь получить доступ к переменной из одного компонента внутри другого компонента.
Что я пробовал
Я создал модель типа объекта и установил значение внутри метода компонента A и попытался получить доступ к этому объекту модели из компонента B, чтобы я мог установить значение для элементов компонента B, но получить объект как неопределенное
Проблема
Компонент A загружается первым в браузере, где он содержит таблицу при щелчке строки таблицы. Я получаю данные строки как объект и устанавливаю этот объект в модель, которая содержит объект аналогичной структуры, и я могу получить значение объекта в компоненте , тогда как я пытался вызвать модель из компонента B, чтобы получить доступ к значению объекта. но я получаю значение объекта как неопределенное, это связано с тем, что компонент B является модальным, который вызывается внутри шаблона компонента A.
Компонент А
public rowSelected:boolean = true;
constructor(public users : User ) {}
getRowData(rowIndex: number, rowData: any): void {
this.rowSelected = $(rowIndex).hasClass('selected');
console.log(rowData);
this.users= rowData.FirstName;
console.log(this.users); // can able to get the object value
}
Шаблон компонента A
<div bsModal #editUserModal="bs-modal" class="modal fade" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button class="close" aria-label="Close" type="button" (click)="editUserModal.hide()">
<span aria-hidden="true">×</span>
</button>
<h5 class="modal-title"><b>Edit User</b></h5>
</div>
<div class="modal-body">
<componenetB #edituserDiv></componenetB>
</div>
<div class="modal-footer">
<button class="btn btn-primary btn-sm confirm-btn gap0" type="button" (click)="edituserDiv.EditUserSubmit()">Submit</button>
<button type="button" class="btn btn-default btn-sm gap-left10 gap0" type="button" (click)="editUserModal.hide()">Close</button>
</div>
</div>
</div>
</div>
Модель
export class User {
UserName: any
Password: any
FirstName: any
MiddleName: any
LastName: any
Status: any
Locked: any
Active: any
CreatedOn: any
LastModified: any
}
Компонент Б
export class Component B {
constructor(public userz : User) {
console.log(this.userz) // Object Value is Undefined
}
}
Пожалуйста, помогите мне решить эту проблему, заранее спасибо