По умолчанию это просто невозможно. Каждое решение всегда будет копировать содержимое в текущую область, потому что, если нет, нет доступа к нему.
Я не знаю, что именно нужно делать, но, возможно, вы можете сделать это «снаружи», , например, как задание gearman , а затем просто поймать результаты процесса, а не весь массив.
Вы также можете подумать о разделении «большого» массива на и затем всегда извлекать нужную вам часть из apc или memcached.
Используйте $rootScope.$broadcast
, чтобы вызвать событие, первый параметр для имени события и необязательный второй параметр для передачи аргумента.
app.controller('IndexController', function ($scope, $rootScope, MainService) {
$scope.getUsername = function() {
MainService.getUsername().then(function (response) {
$rootScope.$broadcast('username-fetched', { username: response.data.username });
});
};
});
Затем перехватите событие на другом контроллере, используя $scope.$on
.
app.controller('IframeController', function ($scope) {
$scope.$on('username-fetched', function (event, data) {
$scope.user = data.username;
});
});