Angular.js bir AJAX arama yapmak için en iyi yöntem nedir?
Bu makale okuyordum: http://eviltrout.com/2013/06/15/ember-vs-angular.html
Ve şöyle dedi
Kuralları bu kadar olmaması nedeniyle, acaba kaç Açısal projeler doğrudan denetleyicileri içinde AJAX çağrıları gibi kötü uygulamalar güveniyor? Bağımlılık enjeksiyon sayesinde, geliştiriciler enjekte yönlendirici direktifleri içine parametreleri? Acemi AngularJS geliştiriciler için gidiyoruz deneyimli bir geliştirici AngularJS bir şekilde kendi kod yapısı inanıyor deyimsel?
Aslında benim angular.js 3 ** çağrı denetleyicisi yapıyorum. Neden kötü bir uygulama mı? $http
arama yapmak için en iyi yöntem nedir? ve neden?
CEVAP
EDİT: Bu cevap öncelikle sürüm focus 1.0.X. Karışıklıkları önlemek için bugünden itibaren Açısal TÜM güncel sürümleri, 2013-12-05 için en iyi cevap yansıtacak şekilde değiştirildi.
Fikri döndürülen verileri bir söz verir, kumandanız telefon ve sözü orada kolu bu hizmet kapsamında emlak $doldurmak için oluşturmak için.
Hizmeti
module.factory('myService', function($http) {
return {
getFoos: function() {
//return the promise directly.
return $http.get('/foos')
.then(function(result) {
//resolve the promise as the data
return result.data;
});
}
}
});
Denetleyici:
then()
bu sözü yöntemi işlemek ve bu verileri almak. Kapsam özellik $ayarlamak ve yapmak için ihtiyacınız olabilecek her şeyi.
module.controller('MyCtrl', function($scope, myService) {
myService.getFoos().then(function(foos) {
$scope.foos = foos;
});
});
-Görünüm Çözünürlük (1.0.Söz X):
Açısal 1.0.X, orijinal cevabı burada hedef, Görünüm tarafından özel muamele olacak vaat ediyor. Onlar çözmek, çözüme kendi değer görünümüne bağlı olacak.Bu 1.2 kalmıştır.X
module.controller('MyCtrl', function($scope, myService) {
// now you can just call it and stick it in a $scope property.
// it will update the view when it resolves.
$scope.foos = myService.getFoos();
});
Nasıl bir WordPress kullanmak yapmadan...
Nasıl dava Vim / küçük harf duyarlı ar...
Java singleton deseni uygulamak için e...
Nasıl belirli bir dize için depodaki G...
C programı bir kaza yapmak için en kol...