2017-05-13 39 views
2

你好,我是角2中的新人。我被困在以下情況。我的主頁組件中有一個ul。我想提出一個火力API調用的職務說明,並將其存儲到一個數組可以說工作陣列,我在點擊用戶界面的裏的一個顯示像下面的方式以角度2將數據從一個組件傳遞到另一個組件(不是家長到孩子還是孩子到家長)?

<ul *ngFor = "let job of jobs " class="job-list" routerLink="jobdetails" > 
    <div class="row"> 
     <div class="col-md-3"> 
     <li>{{job.nameOfThePost}}</li> 
     </div> 
     <div class="col-md-3"> 
     <li>{{job.lastDateOfApplication}}</li> 
     </div> 
     <div class="col-md-3"> 
     <li>{{job.noOfJob}}</li> 
     </div> 
     <div class="col-md-3"> 
     <li>{{job.educationalQualification}}</li> 
     </div> 
    </div> 
    </ul> 

在主頁上的數據我想把用戶帶到一個新的組件讓我們說jobdetails組件。 現在我的問題是我想將一個數組傳遞給jobdetails組件。因爲jobdetails組件不是主頁組件的子組件,所以如何將數據從主頁組件傳遞到jobdetails組件。我發現的所有幫助都是關於如何將數據從孩子傳遞給父母或孩子的父母。我怎樣才能做到這一點?

+1

共享服務:https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#bidirectional-service :) – Alex

+1

導航與參數:https://開頭角.IO /文檔/ TS /最新/引導/ router.html#!#路由參數 – echonax

回答

0

有幾種方法可以實現您的目標。都涉及某種共享類。正如@ AJT_82所建議的那樣,共享服務對於新來Angular的人來說是最常見的方式。

另一種替代方法是使用NgRX並將狀態信息推送到NgRX表中,第二頁可以在他們到達時訂閱。

您也可能要考慮只是路過一個ID,並加載從數據庫中的信息,當你得到它,這樣的數據是不是陳舊的

2

要麼去的服務,這將與我們分享從一個組件信息到另一個,如果它是小規模應用程序,則推薦使用它。由於嵌套多個事件發射器不是處理數據的好方法。

另一種方法是Redux方法,推薦用於大規模應用程序的應用程序。這是一個Store和Reducers的概念,所有數據都在一個地方處理。當您必須在多個組件之間同步數據時,這非常棒。

take a look for further info

相關問題