2017-07-07 48 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