Size: a a a

Angular - русскоговорящее сообщество

2021 April 04

МБ

Мартин Бах in Angular - русскоговорящее сообщество
Серёжа Тиховский
take(1) сам его завершит после первого эмита
так он не будет вызывать 2 раза его?) это же разные потоки будут при обращении? Или я чего то путаю)
источник

M

Maksim in Angular - русскоговорящее сообщество
Владимир
есть несколько вариантов реализации. Самый простой - два отдельных лейаута и выбор по *ngIf. Чуть сложнее - один лейаут, но конфигурируемый через опции. Еще сложнее - несколько разных лейаутов, подключаемых через слой layoutPlugin (абстрактная обертка над самими лейаутами)... в общем - по задаче
зачем так сложно? Почему не просто разные рутовые компоненты для разных роутов (как обычно делят страницу логина и внутренний контент)
источник

СТ

Серёжа Тиховский... in Angular - русскоговорящее сообщество
Мартин Бах
так он не будет вызывать 2 раза его?) это же разные потоки будут при обращении? Или я чего то путаю)
Да, здесь да, я провтыкал что по задаче это многоюзающийся метод
источник

МБ

Мартин Бах in Angular - русскоговорящее сообщество
Ну вот я и зашел в тупик =)
источник

В

Владимир in Angular - русскоговорящее сообщество
Maksim
зачем так сложно? Почему не просто разные рутовые компоненты для разных роутов (как обычно делят страницу логина и внутренний контент)
вопрос был "разные лейауты для страницы" - ну или я его так понял. Условно говоря - в роли пользователя у тебя один лейаут, в роли админа второй, а когда ты авторизован как покупатель - третий... Но возможно что я просто услышал что мне ближе а не что спрашивали)))
источник

СТ

Серёжа Тиховский... in Angular - русскоговорящее сообщество
Мартин Бах
Ну вот я и зашел в тупик =)
А можешь чуть подробнее саму бизнес задачу описать?
Чтобы поток не рестартовать можно его в переменную засунуть и эмитить каждые 500мс например
источник

СТ

Серёжа Тиховский... in Angular - русскоговорящее сообщество
типа
private timer$ = timer(500).pipe(
  // ...
);

updateTasks() {
    return timer$.pipe(
       // ...
    )
}
источник

Е

Егор in Angular - русскоговорящее сообщество
Владимир
вопрос был "разные лейауты для страницы" - ну или я его так понял. Условно говоря - в роли пользователя у тебя один лейаут, в роли админа второй, а когда ты авторизован как покупатель - третий... Но возможно что я просто услышал что мне ближе а не что спрашивали)))
Да, я имел ввиду что по пользовательским правам страницы лейаут отличаются
источник

СТ

Серёжа Тиховский... in Angular - русскоговорящее сообщество
Серёжа Тиховский
типа
private timer$ = timer(500).pipe(
  // ...
);

updateTasks() {
    return timer$.pipe(
       // ...
    )
}
но я не супер саму задачу понял
источник

МБ

Мартин Бах in Angular - русскоговорящее сообщество
Серёжа Тиховский
А можешь чуть подробнее саму бизнес задачу описать?
Чтобы поток не рестартовать можно его в переменную засунуть и эмитить каждые 500мс например
Ну это таск менеджер, данные хранятся в localstorage )

Ну вот я понимаю что надо сделать 1 поток с этим событием и туда пушить, только не могу понять как =(
источник

МБ

Мартин Бах in Angular - русскоговорящее сообщество
Серёжа Тиховский
типа
private timer$ = timer(500).pipe(
  // ...
);

updateTasks() {
    return timer$.pipe(
       // ...
    )
}
ну вот наверно что то типо того должно получиться =) Опыта мало просто, не могу картинку целую составить
источник

СТ

Серёжа Тиховский... in Angular - русскоговорящее сообщество
Мартин Бах
Ну это таск менеджер, данные хранятся в localstorage )

Ну вот я понимаю что надо сделать 1 поток с этим событием и туда пушить, только не могу понять как =(
Типа

tasks$ = new BehaviourSubject(storage.get('tasks')).pipe(
     tap(tasks => storage.set(tasks))
)
источник

СТ

Серёжа Тиховский... in Angular - русскоговорящее сообщество
ну и типа новую таску пилишь, а там делаешь
tasksService.tasks$.next(newTaskList)
источник

СТ

Серёжа Тиховский... in Angular - русскоговорящее сообщество
Ну это скорее путь, тут ещё докрутить надо, главное чтобы бизнес задачу выполнило, а потом садиться улучшать
источник

В

Владимир in Angular - русскоговорящее сообщество
Егор
Да, я имел ввиду что по пользовательским правам страницы лейаут отличаются
отложи эту задачу до времени когда поймешь как все работает, она не совсем тривиальная - ты же должен отдать разные лейауты по одному и тому же роуту, а в роутах условных операторов нет))) просто скопировать чужой пример - толку не будет, надо понять как это сделать)))
источник

МБ

Мартин Бах in Angular - русскоговорящее сообщество
Серёжа Тиховский
Ну это скорее путь, тут ещё докрутить надо, главное чтобы бизнес задачу выполнило, а потом садиться улучшать
Ну да, примерно путь я увидел, спасибо!
источник

M

Mr. Gleb [ONPU] in Angular - русскоговорящее сообщество
Владимир
отложи эту задачу до времени когда поймешь как все работает, она не совсем тривиальная - ты же должен отдать разные лейауты по одному и тому же роуту, а в роутах условных операторов нет))) просто скопировать чужой пример - толку не будет, надо понять как это сделать)))
Такими темпами можно отложить все изучение ангуляра, особенно rxjs
источник

В

Владимир in Angular - русскоговорящее сообщество
Mr. Gleb [ONPU]
Такими темпами можно отложить все изучение ангуляра, особенно rxjs
🤣 ну все не так запущено)) понять-то можно быстро
источник

L

Lesya in Angular - русскоговорящее сообщество
Привет
источник

L

Lesya in Angular - русскоговорящее сообщество
Скиньте плиз хорошие уроки по ангуляр!
источник