Обновлено согласно новой информации: -
Используйте одну из моделей https://angular.io/guide/component-interaction для взаимодействия между компонентами.
Ниже приведен пример шаблонных переменных.
Главный компонент
//showing only html
<my-grid #myGrid><my-grid>
<my-dropdown [grid]="myGrid.jqxGrid"><my-dropdown>
Компонент A (my-dropdown)
Используйте onSelect
, и вы также можете передать ссылку myDropDownList, чтобы вы могли передать любую ссылку, какую захотите
Привязка к событию выбора из jqxDropDownList.
import { Component } from "@angular/core";
@Component({
selector: "my-dropdown",
template: `
<jqxDropDownList #myDropDownList (onSelect)="exportTo($event)"
[width]="200" [height]="25" [source]="source" [selectedIndex]="1">
</jqxDropDownList>
`
})
export class MyDropDown{
@Input() grid: jqxGridComponent
exportTo(event: any): void
{
if (this.grid) {
this.grid.doSomething()
}
}
source: string[] =
[
'Affogato',
'Americano',
'Bicerin',
'Breve'
];
}
Компонент B - компонент сетки
template: `
<jqxGrid #jqxGrid [theme]="'material'"
[width]="getWidth()" [source]="dataAdapter" [columns]="columns"
[pageable]="true" [autoheight]="true" [sortable]="true"
[altrows]="true" [enabletooltips]="true" [editable]="true"
[selectionmode]="'multiplecellsadvanced'" [columngroups]="columngroups">
</jqxGrid>
`
export class MyGrid {
@ViewChild('jqxGrid') jqxGrid: jqxGridComponent;
}