Цитата |
---|
Ахат Баязи написал: BX.CrmProductEditor.prototype = { ... инициализация, и объявление переменных ... w4aSaveProductRows: function(){ |
А для чего перезаписывать/расширять родной объект BX.CrmProductEditor?
Или я просто не понял что делаешь)
BX.CrmProductEditor я получаю так
Код |
---|
/**
* @type {BX.Crm.EntityEditor}
*/
const entityEditor = BX.Crm.EntityEditor.get('{editor_guid}');
/**
* @type {BX.CrmProductEditor}
*/
const productEditor = entityEditor
._controllers
.find(controller => controller._id === 'PRODUCT_ROW_PROXY')
._externalEditor; |
и использую его методы.
Цитата |
---|
Ахат Баязи написал: В вышеприведенном примере, данные из AJAX прилетают в onsuccess: & onfailure:, и если там вызвать к this, то мы не получим доступ к свойствам объекта, |
Так сделай проще
Код |
---|
onsuccess: () => this._w4aOnSaveProductsRequestSuccess(), |
или если метод короткий то прямо так
Я понимаю какие проблемы решают BX.delegate и BX.proxy, но эти проблемы уже не актуальны несколько лет.
Загляни сам в "новое" ядро
bitrix/js/main/core/src/libникаких делегирований и прокси и правильно