169 похожих чатов

Всем привет, кто-то может объяснить как происходит отписка по второй

ссылке?:

я пробросила сервис с interval(1000) через директиву и по разному подключила ее к компоненту:

тут я попыталась воспроизвести утечку (специально не отписывалась).

если открыть консоль и покликать по кнопке change component то видно прошлый и новый счетчик

В этом варианте я знаю как можно отписаться, чтобы утечки не было

https://stackblitz.com/edit/stackblitz-starters-61lsem?description=An%20angular-cli%20project%20based%20on%20@angular/animations,%20@angular/common,%20@angular/compiler,%20@angular/core,%20@angular/forms,%20@angular/platform-browser,%20@angular/platform-browser-dynamic,%20@angular/router,%20core-js,%20rxjs,%20tslib%20and%20zone.js&file=src%2Fcomponents%2Fpage-one%2Fpage-one.component.ts,src%2Fdirectives%2Ftest.directive.ts,src%2Fcomponents%2Fpage-one%2Fpage-one.component.html&title=Angular%20Starter

а тут явной подписки нет, директива и сервис те же, только данные получаю через template

если по кнопке покликать то счетчик останавливается и заново начинается

https://stackblitz.com/edit/stackblitz-starters-obfsmu?file=src%2Fcomponents%2Fpage-one%2Fpage-one.component.ts,src%2Fcomponents%2Fpage-one%2Fpage-one.component.html

опыта у меня не много, но есть предположение, что подписка произошла когда мы добавили директиву в модуль и ангуляр сформировал компонент, ну а отписка произошла во время уничтожения

16 ответов

12 просмотров

ну как минимум директивы так не юзают, их юзают в шаблонах и в провайдерах не регают

Galina-Gorbel Автор вопроса
Evgheni Чернявский
ну как минимум директивы так не юзают, их юзают в ...

это для эксперимента, сделано, чтоб утечку увидеть (Т.е для меня)

ух я даже не знал что на <div (test)="onTest($event)"> может повесится директива с [test] селектором в общем, во первых в директиве в качестве output должен быть EventEmitter а не observable но это не так важно, но суть в том что ангулар сам подписывается и отписывается когда надо от EventEmitter (который под капотом тоже observable) поздравляю вы смогли создать лютый хак который еще и работает

Galina-Gorbel Автор вопроса
Evgheni Чернявский
ух я даже не знал что на <div (test)="onTest($even...

лютый хак это же не очень хорошо я теперь в сомнениях, лучше делать явно и понятно, вот подписались, вот отписались, все все видят рады и счастливы но тут так удобно пробрасываются значения, что жалко все портить≥≥≥

Evgheni Чернявский
ух я даже не знал что на <div (test)="onTest($even...

А ты понял, почему вообще это работает?

Evgheni Чернявский
ну да

Поделись мыслями

Dmitry
Поделись мыслями

так уточните какой момент непонятен

Evgheni Чернявский
так уточните какой момент непонятен

Каким образом компонент связывается с директивой?

почему?

Igor Katsuba
почему?

у меня оно не всегда срабатывало. надежней аттрибут отдельно и аутпут отдельно

xxtux Shvets
у меня оно не всегда срабатывало. надежней аттрибу...

А можешь наиграть кейс, когда не срабатывало?

Igor Katsuba
А можешь наиграть кейс, когда не срабатывало?

это из экспериментов в последнии года три. сейчас я врядли воспроизведу

Igor Katsuba
почему?

Переопределение дефолтных вещей не очень хорошо, особенно в командной работе

Evgheni Чернявский
По селектору

А где селектор? Я кроме (test) ничего не увидел. Это ж не должно быть валидной записью

Похожие вопросы

Обсуждают сегодня

У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
44
что за асемблер кста?
Shvabrikk Nya
19
Добрый день! Пробую отловить исключение EConvertError: function _TryTextToDouble(var DoubleVar: Extended; Text: String): Boolean; begin try DoubleVar := StrToFloat...
Kirill Filippenok
19
всем привет. реально ли понять чем в процессе занята память? delphi/linux, процесс свой
Handatros
12
А где @Grinyaha уважаемый пропал?
Am Ambrion
14
Коллеги, а не могли бы вы подсказать, как происходит оптимизация кода при выполнении кода julia? (Точнее, как управлять уровнем оптимизации, аналогично LLVM/GCC). Потому что...
Илья Гаража
5
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
This automated cryptocurrency trading system uses intelligent algorithms to buy low and sell high on leading crypto exchanges. Many users have already enjoyed significant prof...
Endu Wako
1
Сделал краткий обзор магазина из статьи и заодно там же записал инструкцию по развёртыванию. https://www.youtube.com/watch?v=8-sE1vNk95Q (чё думаете по звуку? кое-что поменял...
Andrey K
17
@kirilltitov можешь, пожалуйста, подсказать, насколько верно утверждение про уход от class к struct для swift 6? Это вот в этом PR
iMike
5
Карта сайта