У меня есть служба, которую я использую в нескольких контроллерах в своем приложении.
Служба содержит вызов $ http скрипту php, который возвращает некоторые важные данные.
Что я хочу сделать, это получить эти данные из localstorage
пользователя, если запрос не удался, а затем вызвать все функции, связанные с успехом $ http во всех контроллерах.
Это то, что часть моей службы выглядит следующим образом:
app.service('initialJSON', ['$http', function ($http) {
var vm = this;
vm.json = $http.get(url);
vm.json.success(function (data) {
if (typeof Storage !== "undefined") {
localStorage.initialJSON = data;
}
})
vm.json.error(function (data, status) {
if (typeof Storage !== "undefined" && "initialJSON" in localStorage) {
// call all success functions in all controllers with the locally saved data
}
});
}]);
В качестве примера функции в этом контроллере следует назвать:
app.controller('someCtrl', ['initialJSON', function(initialJSON) {
var vm = this;
initialJSON.json.success(function (data) {
// This function should be called and do some things with the data
});
}]);
Я не знаю, если это возможно или сколько из моей структуры я должен был бы изменить, чтобы сделать это возможным, но если у кого-то есть идея, я бы очень признателен.
какая версия углового вы используете? – alphapilgrim
Я использую 1.5.0 – tjespe