Я разрабатываю компонент в Angular2 с RxJs. Это мой первый шаг с RxJs, и я обсуждаю профи и const о том, как использовать RxJs.Подписаться/Отказаться от подписки VS Create/TakeUntil?
Компонент создан на основе текстового поля. Когда текстовое поле является пассивным, не в фокусе, отображается информация о текстовом поле. Когда пользователь нажимает на него, фокус находится в текстовом поле, под ним появляется всплывающая подсказка, отображающая информацию, когда пользователь редактирует текст.
На каждом KeyUp обрабатывается значение текстового поля и проверяется соответствие бизнес-правилам, затем всплывающее окно обновляется, чтобы дать обратную связь пользователю.
Подтверждения обрабатываются как подписка на наблюдаемое на клавиатуре с debounceTime и distinctUntilChanged.
Доступно два события: «начните редактирование», когда пользователь нажимает на текстовое поле и «завершает редактирование», когда пользователь нажимает ENTER, ESCAPE, TAB или кликнет из элемента управления.
Учитывая, что на веб-странице будет представлено более 20 элементов управления такого рода, каковы наилучшие методы управления подпиской на keyUp? Примеры:
- Каждый раз, когда «начать редактирование» запускается, создать подписку на KeyUp, как Observable.fromEvent («KeyUp») и добавьте оператор «takeUntil» с событием «конец редактирования» в качестве параметра?
- Держите наблюдаемое где-нибудь, каждый раз, когда запускается редактирование, подписывается на него для обработки ввода, когда происходит «редактирование конца», отписывается на него?
- Нет существенной разницы между A или B
- Другие предложения?
Спасибо! Sebastien
Код стоит тысячи слов. – estus