Size: a a a

Angular.js (1.x) — русскоговорящее сообщество

2019 April 04

R

Remite in Angular.js (1.x) — русскоговорящее сообщество
Dima Nazdratenko
еще какой-то компонент делать? все ж вроде просто есть компонент, как ему сообщить об остальном мире как это было в директивах?)
для общения с миром мы используем сервисы, на наших проектах последние пару лет мы отказались вообще от scope и rootScope
источник

DN

Dima Nazdratenko in Angular.js (1.x) — русскоговорящее сообщество
ну хорошо. Есть сервис в нем значение как-то апдейтится
источник

DN

Dima Nazdratenko in Angular.js (1.x) — русскоговорящее сообщество
сервис добавляю в компоненту
источник

R

Remite in Angular.js (1.x) — русскоговорящее сообщество
Мы используем архитектуру похожую на redux подход
когда есть компонент который общается с внешним миром посредством сервисов
и есть компоненты которые отображают контент исходя из данных которые получили на вход от родителя
источник

DN

Dima Nazdratenko in Angular.js (1.x) — русскоговорящее сообщество
ну так как ваш компонент который общается с сервисами апдейтится когда значение в сервисе изменилось? Я чет совсем не понял что мне делать на данном этапе
источник

R

Remite in Angular.js (1.x) — русскоговорящее сообщество
А окей, смотри

class MyService {
 constructor() {
   this.subscribers = [];
   this.list = [];
 }

 subscribe(callback) {
   this.subscribers.push(callback);
 }

 unsubscribe(callback) {
   this.subscribers = this.subscribers.filter((subscrib) => subscrib !== callback);
 }

 setList(dataFromApi) {
   this.list = dataFromApi;
   this.
 }

 notifySubscribers() {
   this.subscribers.forEach((subscrib) => {
     subscrib({list: this.list});
   })
 }
}

class MyComponent() {
 constructor(MyService) {
   MyService.subscribe(this.handler.bind(this));
   this.list = [];
 }


 handler(data) {
   this.list = data.list;
 }
}
источник

R

Remite in Angular.js (1.x) — русскоговорящее сообщество
теперь каждый раз когда у сервиса будет вызываться setList все компоненты будут получать новое значение
источник

R

Remite in Angular.js (1.x) — русскоговорящее сообщество
все кто подписался на этот сервис
источник

DN

Dima Nazdratenko in Angular.js (1.x) — русскоговорящее сообщество
сори туплю дико, но не особо понял как эти 2 класса транспилировать на мой случай с уже существующим сервисом и компонентом(
источник

DN

Dima Nazdratenko in Angular.js (1.x) — русскоговорящее сообщество
вот так колхоз сильный?
источник

DN

Dima Nazdratenko in Angular.js (1.x) — русскоговорящее сообщество
вроде так заработало
источник

R

Remite in Angular.js (1.x) — русскоговорящее сообщество
То что я предложил более "правильное" решение вотча, поскольку не задействует магию вотча
источник

R

Remite in Angular.js (1.x) — русскоговорящее сообщество
С Вашим сервис и компонентом, нужно просто расширить их на те методы которые я описал
источник

R

Remite in Angular.js (1.x) — русскоговорящее сообщество
источник

R

Remite in Angular.js (1.x) — русскоговорящее сообщество
Налетай, тут халява
источник

R

Remite in Angular.js (1.x) — русскоговорящее сообщество
кончилась акция :(
источник

LK

L K in Angular.js (1.x) — русскоговорящее сообщество
я и думал что он не по теме )
источник

C☭

Chadwick ☭ in Angular.js (1.x) — русскоговорящее сообщество
L K
вам бы юзнуть node glob
а вообще какой у вас замысел, не ясно чего вы хотите добиться
спс. проверю

замысел в ускорении работы пайплайна в GitLab... работа одного пайпа занимает 12 минут... позитивная работа внутри пайпа равна 12сек... все остальное время распаковка и запаковка папки node_modules в кэш/артифакт
источник

В

Владимир in Angular.js (1.x) — русскоговорящее сообщество
Вопрос по ui-router. По документации и примерам его нужно подключить внутри .config(). Если опция resolve() использует сервисы, например авторизация пользователя, а сервивсы нелзя инжектить в .config() (по документации можно только провайдеры и константы), значит нужно переписать сервис авторизации как провайдер?
источник

R

Remite in Angular.js (1.x) — русскоговорящее сообщество
источник