Это основной вопрос об обслуживании angularjs.Обновление данных об обслуживании Angularjs
Я создал очень простое приложение, которое имеет следующий код.
var App = angular.module('testApp', ['testService']);
App.config(['$routeProvider', function($routeProvider)
{
$routeProvider
.when('/', {templateUrl: 'partials/dataDisplay.html', controller: testCtrl})
.otherwise({redirectTo: '/'});
}]);
angular.module('testService', []).
factory('svcTest', function($http){
var myService =
{
getPeopleInfo: function()
{
$http.get('/test/app/data/getData.php').success(function(data) {
console.log("Data : " + data.people);
return data.people;
});
}
};
return myService;
});
function testCtrl($scope, svcTest) {
$scope.people = svcTest.getPeopleInfo();
}
Когда это делает '$ http.get', я на самом деле получить данные (и даже getData.php также возвращает действительный JSON.). Однако данные никогда не обновляются до testCtrl. Не уверен, что я делаю что-то очень глупо, будучи новичком в Angularjs.
Однако, если я избавлюсь от сервисов и добавлю http.get внутри контроллера, данные будут восстановлены и обновлены до представлений.
function testCtrl($scope, $http) {
$http.get('/test/app/data/getData.php').success(function(data) {
$scope.people = data.people;
});
}
Какова основная проблема с кодом, который я использую с сервисами?
BTW, мой HTML очень прост, который отображает эту информацию в простом формате таблицы.
Спасибо, что ответили на мой очень простой вопрос. – sudhr