2
我正在用RxJs在Angular2中開發一個組件。這是我對RxJs的第一步,我正在討論如何使用RxJs的優點和常量。訂閱/取消訂閱VS Create/TakeUntil?
該組件基於一個文本框。當文本框是被動的,失焦時,文本框顯示信息。當用戶點擊它時,焦點位於文本框上,在其下面出現一個工具提示,當用戶正在編輯文本時顯示信息。
在每個KeyUp上,處理文本框的值並驗證多個業務規則,然後更新彈出窗口以向用戶提供反饋。
驗證是作爲debounceTime和distinctUntilChanged的keyup上的observable訂閱處理的。
有兩個事件可用:「開始編輯」,當用戶點擊文本框和「結束編輯」時,當用戶按下ENTER,ESCAPE,TAB或單擊不在控件上。
考慮到網頁上會有20多種此類控件,管理keyUp訂閱的最佳實踐是什麼?例子:
- 每次「開始編輯」被觸發,創建KEYUP訂閱,像Observable.fromEvent(「KEYUP」),並與「結束編輯」事件作爲一個參數添加操作「takeUntil」?
- 保持可觀察的某個地方,每次「開始編輯」被觸發,訂閱它來處理輸入,當「結束編輯」發生時,取消訂閱它?
- A或B之間無顯着差異
- 其他建議?
謝謝! 塞巴斯蒂安
代碼勝過千言萬語。 – estus