SORU
15 Temmuz 2013, PAZARTESİ


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
15 Temmuz 2013, PAZARTESİ


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();
});

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Associated Press

    Associated P

    18 EYLÜL 2006
  • JayzTwoCents

    JayzTwoCents

    26 AĞUSTOS 2012
  • RogerBuckChrist

    RogerBuckChr

    9 Temmuz 2011