Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Передача объекта по ссылке (https://javascript.ru/forum/misc/71557-peredacha-obekta-po-ssylke.html)

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

Цитата:

Сообщение от Luca
let module1 = { }l;

:-?

ruslan_mart 28.11.2017 18:17

Цитата:

Сообщение от Luca
import {module1] from "module1";

:-?

Luca 28.11.2017 19:54

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


Часовой пояс GMT +3, время: 21:19.