Posso definir isso. Algo de um serviço dentro de um objeto aninhado que é criado dinamicamente nesse serviço? (talvez questões de escopo)

Eu tenho o seguinte serviço (na verdade, ele tem mais níveis e elementos, mas eu o reduzi a apenas um exemplo do que eu gostaria de trabalhar). Ele cria objetos javascript dentro de outros objetos dinamicamente, com base em arquivos csv na pasta app.data. A linha mais relevante para esta pergunta éthis.images = images; após o loop for mais interno.

app.service('tabInfoService',function(csvService, tabsService ){


    var tabData = tabsService.tabData;
    var tabCount = tabsService.tabCount;
    this.tabs={};
    this.images={};

    var tCounter = 0;
    //for loop creates a big object literal with more object literals inside of it 
    for (tCounter=0; tCounter<tabCount; tCounter++){
        var tabImageURL = "Contents/Product Groups/"+tabData[tCounter]+"/imageOrder.csv";
        var TabImages = $.getCsvArray(tabImageURL); //gets array from csv file
        var images={};

        this.tabs["tab"+tCounter] ={
            title: tabData[tCounter],  

            images : (function(){
                                        for (imageCounter = 0; imageCounter<TabImages.length; imageCounter++)                                                   
                                        images["image"+imageCounter]    ={
                                            image: "Contents/Product Groups/"+tabData[tCounter]+"/img/"+TabImages[imageCounter]

                                        };
                                        this.images=images; //can I make something like this so that I'll have access in my controller?
                                        return images;
                            })(),

        }
    }   
});

Como posso fazer algo comothis.images = images; trabalhar dentro dos objetos javascript aninhados para que eu possa acessar esse objeto de imagens no meu controlador com algo como$scope.images = tabInfoService.images ?

Atualmente eu posso fazer$scope.navItems = tabInfoService.tabs no meu controlador e tenha acesso ao objeto grande como um todo. Isso me permite aninharng-repeat divs (repetindo algo em navItems e, em seguida, somethingElse dentro desse algo) para repetir todos os elementos desteimages objeto.

Então, basicamente, eu posso acessar otabInfoService.tabs objeto e cavar nele para obter as imagens que eu quero, aninhando ng-repeats no HTML. O aplicativo funciona bem com isso, mas estou tendo problemas para inicializar os dados no controlador. Posso definir um novothis.something (nesse casothis.images) paratabInfoService para que eu possa definir uma variável $ scope para ele?

Para encurtar a história: eu quero fazer$scope.initialImage=tabInfoService.images[image0] mas não posso definirtabInfoService.images dentro do objeto aninhado em meu serviço. Alguma maneira de fazer isso?

Devo mover tudo isso para o controlador?

Muito obrigado pelo seu tempo. Eu realmente gostei disso.

questionAnswers(1)

yourAnswerToTheQuestion