Могу ли я установить this.'something 'службы внутри вложенного объекта, который динамически создается в этой службе? (возможно проблемы с областью)

У меня есть следующий сервис (на самом деле он имеет больше уровней и элементов, но я урезал его до единственного примера того, что я хотел бы работать). Он создает объекты javascript внутри других объектов динамически на основе файлов csv в папке app.data. Наиболее актуальная строка для этого вопроса:this.images = images; после самого внутреннего для цикла.

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;
                            })(),

        }
    }   
});

Как я могу сделать что-то вродеthis.images = images; работать внутри вложенных объектов JavaScript, чтобы я мог получить доступ к этому объекту изображений в моем контроллере с чем-то вроде$scope.images = tabInfoService.images ?

В настоящее время я могу сделать$scope.navItems = tabInfoService.tabs в моем контроллере и иметь доступ к большому объекту в целом. Это позволяет мне вкладыватьng-repeat divs (повторяя что-то в navItems, а затем что-то еще внутри этого чего-либо), чтобы повторить все элементы этогоimages объект.

В общем, я могу получить доступ кtabInfoService.tabs Объект и копаться в нем, чтобы получить изображения, которые я хочу, вложив ng-повторов в HTML. Приложение прекрасно с этим работает, но у меня возникают проблемы при инициализации данных в контроллере. Могу ли я установить новыйthis.something (в этом случаеthis.images) заtabInfoService чтобы я мог установить переменную $ scope?

Короче говоря: я хочу сделать$scope.initialImage=tabInfoService.images[image0] но я не могу установитьtabInfoService.images внутри вложенного объекта в моем сервисе. Есть ли способ сделать это?

Должен ли я перенести все это на контроллер?

Большое спасибо за уделенное время. Я очень ценю это.

Ответы на вопрос(1)

Ваш ответ на вопрос