我对angularjs很新,所以请耐心等待。
我有两个控制器,其中一个控制器有一个Restangular调用来加载某个json对象。如何在不进行另一个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
*/
}
答案 0 :(得分:1)
您可以沿着自定义服务/工厂路线前进,按照建议有效地创建自己的缓存层,或者您可以在Restangular中启用缓存。来自https://github.com/mgonto/restangular#can-i-cache-requests
RestangularProvider.setDefaultHttpFields({cache: true});
你可以将它放在应用程序的“运行”调用中,如下所示:
app.run(function(RestangularProvider) {
RestangularProvider.setDefaultHttpFields({cache: true});
});