Вход

Просмотр полной версии : Передача объекта по ссылке


Luca
28.11.2017, 15:54
Здравствуйте.
есть два модуля
1 модуль

let module1 = { }l;
module1.init(obj){
module1.data = obj.data;
};
export {module1};

2.модуль

let module2 = {};
module2.init(obj){
module1.data = obj.data;
};
export {module2};


main.js

import {module1] from "module1";
import {module2} from "module2";
NS = {};//NameSpace
NS.data = {key: value};
NS.module1 = module1;
NS.module2 = module2;
NS.module1.init({data: NS.data});
NS.module2.init({data: NS.data});

в результате, когда я в модулях меняю данные, то они в NS.data не меняются и у всех разные данные получаются

рони
28.11.2017, 17:55
let module1 = { }l; :-?

ruslan_mart
28.11.2017, 18:17
import {module1] from "module1";

:-?

Luca
28.11.2017, 19:54
дело в другом было: после того, как один модуль отработал ссылку указывала уже на другие данные. добавил в основной модуль сеттеры и геттеры + _cloneDeep и всё заработало. вверху очень условный пример - не "выкатывать" всё приложение сюда... теперь минификатор "кровь сворачивает":write: