SORU
27 Temmuz 2013, CUMARTESİ


Ayrıştırma $arasındaki fark nedir, $sokmak ve $servisleri derlemek?

$parse, $interpolate $compile hizmetler arasındaki fark nedir? Hepsi aynı şeyi benim için: şablon alın ve şablon çalışması için derleme.

CEVAP
27 Temmuz 2013, CUMARTESİ


Bu AngularJS yardım render $parse $interpolate Bu etki alanının dışında kullanılabilir olsa da) görüntüleme hizmetleri örnekleridir. Her hizmet rolünün ne olduğunu göstermek için HTML bu parça örnek alalım:

var imgHtml = '<img ng-src="/path/{{name}}.{{extension}}">'

ve kapsamı üzerinde değerler:

$scope.name = 'image';
$scope.extension = 'jpg';

Her hizmet masaya getiriyor ne bu işaretleme burada verilmektedir

  • $compile - alın Tüm biçimlendirme ve çevirmek o içine bir bağlama işlevi, yürütülen karşı belirli bir kapsam dönecek bir parça HTML metin dinamik, canlı DOM ile tüm direktifleri (burada: ng-src) tepki için model değiştirir. Bir aşağıdaki gibi çağır(imgHtml) $derleme($scope) ve DOM DOM olay ile bir eleman olsun ki sonuç olarak iyi bir çalışma olmuş. $compile $interpolate (diğer şeyler arasında) kullanın işini yapıyor.
  • $interpolate gömülü aradeğerleme ifadeleri ile bir dize işlemek için nasıl, eski bilir.: /path/{{name}}.{{extension}}. Diğer bir deyişle aradeğerleme ifadeler, bir kapsam ile bir dize almak ve sonuç metni çevirmek. Çok basit, dize-tabanlı bir şablon dili olarak $interpolation servis düşüneceğim. Bu hizmeti kullanmak istiyorsunuz, yukarıda verilen örnek: sonuç olarak path/image.jpg dize almak için $interpolate("/path/{{name}}.{{extension}}")($scope).
  • $parse $interpolate bir kapsam karşı bireysel ifadeler (, ** 20 ** 21) değerlendirmek için kullanılır. Her ikisi için de kullanılabilirokuyunveayarlayınbelirli bir ifade için değer. Bir şey yapsın name ifade değerlendirmek için örnek: $parse('name')($scope) "" değer. görüntü almak için Tek yapacağı değerini ayarlamak için: $parse('name').assign($scope, 'image2')

Tüm bu hizmetlerle birlikte AngularJS canlı bir UI sağlamak için çalışıyor. Ama farklı düzeyde faaliyet:

  • $parse bireysel ifadeler sadece (, *name*27)ile ilgili. Okuma-yazma hizmeti.
  • $interpolate salt okunur ve dizeleri birden fazla ifade içeren (/path/{{name}}.{{extension}}) ile ilgilidir
  • $compile AngularJS makine kalbidir ve canlı DOM içine HTML dizeleri (Yönerge ve ilişkilendirme ifadeleri ile) açabilirsiniz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Brendan van Son

    Brendan van

    5 Aralık 2006
  • Floortile83

    Floortile83

    16 Ocak 2010
  • Phymec

    Phymec

    18 Temmuz 2009