В моем проекте Ionic я использую провайдер device.ts во многих пользовательских классах. Проблема заключается в том, что каждый раз, когда я использую свои пользовательские классы, мне приходится передавать в него моего провайдера устройств, поскольку другого способа добраться до него нет.
Итак, мой код каждый раз будет выглядеть так:
let user = User(device);
let cart = Cart(device);
let page = Page(device);
Чтобы обойти это, в конструкторе моего провайдера я могу установить
window.device = this;
Теперь мне не нужно передавать устройство каждому из моих объектов, так как я могу получить его там как window.device. Какой в этом вред? В документации Ionic нет ничего подобного, и я не уверен, почему, или если то, что я делаю, - плохая идея.