Angular2:将从服务加载的变量分配给从另一个服务加载的值

时间:2016-04-20 11:54:05

标签: json typescript angular angular2-services

我正在使用angular2 app中的服务,我正在从2个调用json数据的服务中加载参数。

我的问题是如何影响从服务1加载到从服务2加载的值的变量

我的代码看起来像这样:

服务1:ParamService(此服务使用“休眠”类)

服务2:FormeService

// Rectangle
            if (this.formeGeoChoisi == 302){
                this.ParamService.dormant.Rect_ON = 1.00
            }
            // Triangle Total
            if (this.formeGeoChoisi == 303){
                this.ParamService.dormant.Triangle_ON = 1.00
            }
            // Triangle Partiel
            if (this.formeGeoChoisi == 304){
                this.ParamService.dormant.DemiHexag_ON = 1.00
            }
            // Inclinaison gauche totale
            if (this.formeGeoChoisi == 305){
                this.ParamService.dormant.TriangleG_ON= 1.00

        // Rectangle
        if (this.formeGeoChoisi == 302){
            this.ParamService.dormant.Rect_ON = 1.00
        }
        // Triangle Total
        if (this.formeGeoChoisi == 303){
            this.ParamService.dormant.Triangle_ON = 1.00
        }
        // Triangle Partiel
        if (this.formeGeoChoisi == 304){
            this.ParamService.dormant.DemiHexag_ON = 1.00
        }
        // Inclinaison gauche totale
        if (this.formeGeoChoisi == 305){
            this.ParamService.dormant.TriangleG_ON= 1.00

你可以注意到我正在处理每个案例以影响正确的参数1:00(Rect_ON,Triangle_On ......)

所以我开发了服务2,其中包含选择的参数(formeGeoDormant),我想直接影响它,所以我已经这样做以简化和逐出所有if循环:

this.ParamService.dormant.(this.formeService.formeGeoDormant)= 1.00

但是没有用,我能做什么(正确的语法)??

1 个答案:

答案 0 :(得分:0)

假设this.formeService.formeGeoDormant返回了string的" (Rect_ON,Triangle_On ......)",这应该可行

this.ParamService.dormant[this.formeService.formeGeoDormant]= 1.00