angular.module('admin', []) .provider('users', function () { this.users = []; this.$get = function () { var that = this; return { getUsers: function () { return that.users; } } }; }) .run(function ($http, users) { users.users = $http.get('file.php'); // ....cały kod pobierania danych }) .controller('test', function ($scope, users) { $scope.users = users.getUsers(); });
Chodzi mi o to, aby na starcie załadować użytkowników poprzez serwis $http. Użyłbym tutaj metody config i ustawił odpowiednie dane, lecz nie mogę do niej "wtłaczać" żadnych usług czy serwisów, dlatego w dokumetacji znalazłem metodę .run(). Jednak wszystko to co tutaj zrobię na obiekcie nie powraca do obiektu, te dane zostają w metodzie .run() i nie mogę w żaden sposób się do nich potem dobrać. Jeśli użyję metody .config() to wszystko fajnie działa ale dane są wtedy przypisane na sztywno. Jakieś rady?