我一直在使用角度2約2周現在,我喜歡它,除了一件事...服務。儘管使用它們,以符合社會,我不明白這一點,我希望有人能夠解釋推理。Angular 2 Service ...毫無意義?
除加載數據外,服務不執行任何操作。更不用說9/10我注入的組件必須具有類似的功能來處理返回的數據並使其可用。我遇到的另一個大問題是開銷。讓我們說(繼英雄教程)我運行一個ajax請求(使用服務)來創建一個英雄列表,我點擊一個,現在我加載一個新的頁面,我收到的ID和運行另一個請求使用相同的服務。
因此我不明白。爲什麼不創建它更像一個實例,其中數據只需要加載一次,並且可以被查詢而不是提出全新的請求。更不用說返回實際數據而不是承諾/可觀察。如果有人能解釋這一點,並告訴我我錯過了什麼,我會喜歡這一點。提前致謝。
好吧,我想我明白了。我認爲後面的代碼(ex herodetails.component.ts)和html是視圖,它處理數據綁定和事件處理程序。但是,如果我正確理解你,後面的代碼是控制層? 我不應該在組件和服務之間創建實例嗎?這樣我不必一直拉下相同的數據。另外,如果這是做它的正確方法,它從來沒有被展示或談論過? (至少從我的搜索和我遵循的一些教程) – ZaksBack
還有其他模式,你可以遵循,以確保數據被拉下一次。即作爲緩存數據的單例服務,或者使用向用戶重放數據的可觀察事物。 Angular2談到一個組件模型,但它是,imho,MVC。 – pixelbits
認爲這是相關的:http://stackoverflow.com/questions/35762515/is-angular2-mvc – pixelbits