在parent component建立一個input 讓使用者輸入後
透過keyup的方法,將資訊傳送到child component中顯示!
目前想要讓這個input不要那麼即時反應
類似這個搜尋功能
網路上找了很多資料,都是說使用 debounceTime
但是找了很多天的範例,都沒有辦法正確操作成功
小弟的版本是Angular: 8.2.14
不知道有沒有比較合適的範例或者是相關的訊息
可以讓我解決問題! 謝謝
在parent component建立一個input 讓使用者輸入後
透過keyup的方法,將資訊傳送到child component中顯示!
目前想要讓這個input不要那麼即時反應
類似這個搜尋功能
網路上找了很多資料,都是說使用 debounceTime
但是找了很多天的範例,都沒有辦法正確操作成功
小弟的版本是Angular: 8.2.14
不知道有沒有比較合適的範例或者是相關的訊息
可以讓我解決問題! 謝謝
你的範例程式先貼出來看看吧,這樣才知道你寫的地方哪邊有問題
是!
我遇到的問題是這樣,我按照覺得可行的方式建立的subscribe 之後
就不知道該如何把資訊傳到child 去處理顯示
要讓輸入的input delay 1.2秒再偵測
顯示到child中
再麻煩您解惑了!!!
你應該朝 FormControl 的方向看,當你使用 formControl 的時候,可以這樣子寫
<input [formControl]="webInput">
component.ts
webInput = new FormControl();
webInput.valueChanges.pipe(
debounceTime(1200)
).subscribe(value=> this.values = value);
有,根據您的建議,已經解決了目前的問題!!
感謝您的回答! 謝謝
您好
根據這個議題,我又遇到了一個問題
我在parent component要傳string資訊到service中處理
然後在另一個component中顯示
首先我在constructor中,打入您提供的程式,但我卻沒有辦法傳到service中
使用按鍵的方式觸發this.messageService.sendMessage是可以的
在service以及另一個component中,是這樣寫的
想知道我應該在component.ts 中,使用什麼方法,才能將訊息傳到service?
謝謝
subscribe 是非同步,你必須將 service 的動作放到 subscribe 裡面去處理
subscirbe(value=>{
this.messageService.sendMessage(value);
})
謝謝! 我解決了我目前遇到的問題!
但是我又遇到了新的問題…
就是在child component出現的訊息不是同步的
例如我第一筆輸入123
第二筆輸入456
但是在child component出現的第一筆是預設值
第二筆才是123
第三筆才是456
這是否就是您提到的非同步的狀態?
如果我想要達到同步,請問我該怎麼處理?
或者我該參考什麼資料呢? 謝謝您!!