为可注入服务构造函数提供可选参数 - Angular2

时间:2018-01-18 08:41:48

标签: angular typescript angular-router-params

有AppComponent和SecurityService。

...
@Injectable()
export class SecurityService implements OnInit {    
    private _url: string;

    constructor(private http: Http, private name?: string) {
        this._wsUrl = 'http://myurl/' + this.name        
    }
...
}

AppComponent是一个注入安全服务的人。

export class App {

    constructor(private security: SecurityService){

    }
    ... 
}
  

我的问题是:如何为此提供此可选参数值   安全服务构造函数?

1 个答案:

答案 0 :(得分:1)

只需在构造函数参数之前添加@Optional()装饰器,只有在注册了提供者的情况下才应该注入。

constructor(private http: Http,@Optional() private name: string) 

您可以在此处详细了解Optional

<强> DEMO