Присвойте значение из обратного вызова свойства тому же объекту, который возвращается из метода класса.Javascript

Форум по Javascript
Ответить
Anonymous
 Присвойте значение из обратного вызова свойства тому же объекту, который возвращается из метода класса.

Сообщение Anonymous »

Я ищу шаблон для общего решения — у меня есть класс с методом, возвращающим объект, где одно из свойств `api` я хочу присвоить ему значению обратного вызова, являющемуся частью того же возвращаемого объекта:

Код: Выделить всё

import { singleton, inject } from 'aurelia-framework';
import { I18N } from 'aurelia-i18n';
import { warningAlert } from '../../utils/ag-grid-no-data-alerts';

import { DateCellEditor, NumericCellEditor, SelectCellEditor } from '../ag-grid-cell-editors/index';
import { SelectFilter, SelectFloatingFilter, DateFilter } from '../ag-grid-column-filters/index';

@singleton()
@inject(I18N)
export class GridOptions {
api = null;

constructor(i18n) {
this.i18n = i18n;
}

getOptions(model) {
return {
suppressMovableColumns: true,
stopEditingWhenCellsLoseFocus: true,
enableCellTextSelection: true,
rowData: [],
localeText: { noRowsToShow: warningAlert(this.i18n.tr('app:common.noResults')) },
onRowDataUpdated: params => params.api.sizeColumnsToFit(),
onGridSizeChanged: params => params.api.sizeColumnsToFit(),
onSortChanged: _sortChanged.bind(this, model),
onFilterChanged: _filterChanged.bind(this, model),
onGridReady: params => this.api = params.api,
getRowClass: row => {
let klass = '';

if (row.node.rowPinned === 'bottom' || row.node.rowPinned === 'top') {
klass = 'pinned-row';
}

return klass;
},
defaultColDef: {
sortable: true,
resizable: true,
autoHeight: true,
suppressHeaderMenuButton: true
},
api: this.api,
components: {
// ...
}
};
}
}
Это контекст Аурелии, но я считаю, что это общий шаблон. Очевидно, у меня есть Ag-сетка, где этот файл является своего рода заводскими настройками. Здесь свойство API имеет значение обратного вызова onGridReady.

Подробнее здесь: https://stackoverflow.com/questions/798 ... om-a-class
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»