2017-07-07 49 views
0

我已閱讀關於類注入的Angular文檔,但我無法理解這些做法哪一個更好。更具體地講:如果我有以下的模型類模型類注入的最佳做法(Angular)

export class Documents{ 
private documentNumber:string; 
private countryIssuingDocument:string; 
private documentExpirationDate:string; 
private documentIssuingOffice:string; 

} 

,我想它注入

import { Component ,Output,EventEmitter} from '@angular/core'; 

import {Documents} from "../../model/document.model"; 

@Component({ 
selector: 'document-screen', 
templateUrl: 'document-screen.html' 
}) 


export class DocumentScreen { 

constructor(private documentData : Documents) { 
} 

} 

豈不是更好,使用new關鍵字做或者聲明中提供的模型類數組如上。我認爲最好在提供者數組中聲明我的模型類,因爲通過這種方式我將擁有一個單例體系結構。我對嗎?

預先感謝您!

+0

你應該只注入「單體」類 –

回答

0

模型對象包含該類型的數據。你絕對不需要一個單一的對象,你可能會有很多相同類型的模型。所以使用依賴注入並不是一個好主意。

僅對具有邏輯並且有時具有將跨組件共享的數據的服務使用依賴注入。

+0

從OP中不清楚模型的使用方式。你怎麼確定'這不是個好主意'?看起來更像是一個觀點不清的論證(這就是爲什麼'最佳實踐'基於觀點的問題被認爲是脫離主題的原因)。 – estus

+0

夠公平的。 Singleton模型類對我來說就像是一項服務。服務僅用於存儲數據。但從描述來看,它看起來像一個定義在多個地方使用的類。你完全有權降低我的答案:)但這不一定是一個自以爲是的答案,它可以通過檢查角度文檔來定量回答,如果問題是清楚的。 – Skeptor

+0

添加到答覆...通常,模型類用作「類型」,而不是注射服務。如果這個類的所有屬性都是私有的......沒有使用它或注入它將能夠使用這些屬性中的任何一個。 – DeborahK