это мой код:
Здесь вы найдете функцию, реализованную просто для добавления двух кнопок к компоненту.
Рассматривайте это как HTML-код
editFonction = "editRole()";
getActions(Dropup) {
return '<div class="dropdown ' + (Dropup ? 'dropup' : '') + '">'
+ '<button class="m-portlet__nav-link btn m-btn m-btn--hover-accent m-btn--icon m-btn--icon-only m-btn--pill" title="Edit"'
+ '(click)='+this.editFonction+'>'
+ ' <i class="flaticon-edit-1"></i>'
+ '</button>'
+ '<button class="m-portlet__nav-link btn m-btn m-btn--hover-danger m-btn--icon m-btn--icon-only m-btn--pill" title="Delete">'
+ ' <i class="fa fa-trash-o"></i>'
+ '</button>';
}
Для первой кнопки, которая отвечает за редактирование действия, у меня есть функция щелчка (click)= "editRole()"
.(этот код находится в компоненте A)
Моя проблема заключается в том, что это определение функции редактирования находится в компоненте A, и я хочу вызвать и реализовать логику этой функции редактирования в другом компоненте B.
Что я сейчас делаю:
Я создал массив с именем dataFunctions в компоненте A
dataFunctions: any[] = [];
и в конструкторе я просто заполнил его именем функции
constructor() {
this.dataFunctions = [this.editFonction];
}
В компоненте B я определяю viewChild:
@ViewChild(CustomDataTableComponent) child;
data : any[];
и просто восстанавливаю значения массива данных:
ngAfterViewInit() {
this.data = this.child.dataFunctions;
console.log("output :",this.data);
}
}
Мне нужна помощь.
Заранее спасибо