2017-02-22 153 views
0

我創建了一個簡單的應用程序,其中包含2個組件和一個服務,以顯示如何通過讓一個組件更新另一個組件已訂閱的服務中的值來將項目添加到購物籃。使用this Plunker示例,您可以看到服務獲取了更新的值,但是當您單擊籃子的值時,您將看到組件中籃子中的項目數保持爲0(使用console.log)。如何讓組件與服務匹配相同的值?Angular 2使用服務更新組件

我認爲這可能是因爲我的主頁是這樣的,所以它將組件視爲單獨的應用程序,因此創建了2個服務。我不想在一個根應用程序中擁有所有角度組件。

<body> 
    <div> 
     Basket Holder<fc-basket>loading basket...</fc-basket><br/><br/> 
    </div> 
    <my-app> 
    loading... 
    </my-app> 
    </body>` 
+0

創建另一個實例,而使用模塊級實例

我解決你的所有plunker實際的代碼。沒有查看原始代碼很難得到正在發生的事 –

回答

2

問題是,您提供basketService 3次,並有3個實例的籃子服務與自己的訂閱流。

  • 在應用模塊級,當你在app.module
  • 在個別組件級別

定義你不需要provides[service]在你組件,如果你已經在你的模塊中做到了。否則會在resolved plunker

+0

輝煌,謝謝你。 –

+0

投票並接受它。它會幫助別人 –

相關問題