/ / Дял данни между два контролера в angularjs с помощта на ъглово - json, angularjs, angularjs-scope, angularjs-контролер,

Споделяне на данни между два контролера в angularjs с помощта на ъглови - json, angularjs, angularjs-scope, angularjs-controller, restangular

Аз съм сравнително нов за Angularjs, така че моля те носете с мен.

Имам два контролера, единият от които има Restangular повикване за зареждане на определен json обект. Как да осъществя достъп до същия обект в друг контролер, без да правя друго поредно повикване?

Аз вече се опитах да направя factory който споделя обекта, но това далеч не работи.

app.factory("Data", function() {
return []
}

app.controller("FirstCtrl", function ($scope, AudioRestangular, Data) {
$scope.audios_full = Data
// load data into $scope.audios_full using restangular
}

app.controller("SecondCtrl", function ($scope, AudioRestangular, Data) {
/*
* $scope.second_ctrl_audios = ?
* get data from FirstCtrl"s audios_full
* and store it in this $scope.second_ctrl_audios
*/
}

Отговори:

1 за отговор № 1

Можете да свалите персонализираната услуга / фабричния маршрут, за да създадете ефективно своя собствен слой кеширане, както предлагате, или можете да активирате кеширането в Restangular. от https://github.com/mgonto/restangular#can-i-cache-requests

RestangularProvider.setDefaultHttpFields({cache: true});

Вероятно можете да поставите това в "изтичане" на обаждането на приложението, както е така:

app.run(function(RestangularProvider) {
RestangularProvider.setDefaultHttpFields({cache: true});
});