2017-10-11 31 views
-3

我有明確的方法:如何清除服務並在訂閱中檢測到?

clear() { 
    //this.customerSearchData = new ReplaySubject<Object>(1); 
    this.basketData = new ReplaySubject<Object>(1); 
    } 

在我的部分,我有這樣的:

this.sharedData.getBasketData().subscribe((data)=>{ 
      if(data['basket']){ 
       this.basket = data['basket']; 
      }else{ 
       this.basket = {}; 
      } 
     }); 

但是,當我把這個明確的triggerd在明確的方法,但在我的組件認購不。任何建議?

+0

這不符合[mcve],但請注意,組件正在訂閱*特定主題*,而不是一般'basketData'。如果你替換這個主題,你需要創建一個新的訂閱(和'.unsubscribe'舊的,否則仍然有一個參考。 – jonrsharpe

回答

0

清除使用this.basketData.next()後廣播主題;

+0

它不會再觸發 – None

+0

哦,抱歉,當你這樣做時:這個。 basketData = new ReplaySubject (1);你的.subscribe是在不同的對象上,因此它不會收到回調 – Carsten

+0

所以我該如何解決這個問題? – None

相關問題