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ç olarakpath/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ınname
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ş:
LL ve LR ayrıştırma arasındaki fark ne...
Bir URI, URL ve URN arasındaki fark ne...
Aramak ve uygulamak arasındaki fark ne...
@Staticmethod ve @Python classmethod a...
Match_parent ve fill_parent arasındaki...