Bir projede açısal 1.5.x kullanıyorum. Paylaşılan peopleService
ile iki ayrı denetleyicim var, bunlardan biri (dashboard-controller
) insanların listesini görüntüler ve başka bir (people-modal-controller
) insanları eklemenizi sağlar. Veri kendini iyi bir şekilde gönderiyor/gönderiyor, ancak şu anda yeni bir kişi eklendiğinde orijinal liste güncellemesine sahip olmakta sorun yaşıyorum. Sidenote: Bunun önemli olup olmadığından emin değilim ama şu anda en iyi uygulamayı takip etmeye çalışıyorum. Denetleyici, $ kapsam yerine sözdizimi olarak. İşte benim kodum.Angular JS içinde vaatlerle hizmetlerin güncellenmesi
insan service.js
logbook.service('peopleService', function($http){
var people;
function getPeople(){
if (angular.isDefined(people)) return $q.when(people);
return $http.get('/api/v1/people').then(function(data) {
people = data;
return people;
}
)};
return {
getPeople: getPeople(),
}
})
pano-controller.js
logbook.controller('dashboardController', function($http, $scope, $httpParamSerializerJQLike, peopleService){
var self = this;
peopleService.getPeople.then(function(response){
self.people = response.data;
}
insan modal-controller.js
logbook.controller('peopleModalController', function($http, $scope, $httpParamSerializerJQLike, ngDialog, peopleService){
var self = this;
self.savePerson = function(person){
$http({
method: 'POST',
url: '/api/people',
data: $httpParamSerializerJQLike({
'name': person.name,
}),
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}).then(function(response){
self.name = null;
peopleService.getPeople;
}).catch(function(response){
self.formError = response.data.error.message;
})
index.html
<li ng-repeat="person in dashboard.people.data">{{ person.name }}</li>
, getPeople 'getPeople(), getPeople(),' –
almak için getPeople 'getPeople() olmalıdır,' TypeError: peopleService.getPeople.then konsolda bir işlev değil Bu, denetleyicileri bunu yansıtması için nasıl değiştirmeliyim? – nephenee245
sonra denetleyicinin içinde, 'peopleService.getPeople() gibi işlev çağrısı yapmalısınız.' –