2016-02-13 14 views
5

Angular 1.5 bileşen kavramının tanıtımı ile tek yönlü veri bağlama (<) de tanıtıldı. Ancak, manuel diyor: Üst ve bileşen kapsamı ikisi de aynı nesne başvurusu olduğunu,Açısal 1.5'de 'tek yönlü bağlamaya' (<) sahip olmanın amacı nedir?

Not Ancak, bu nedenle bileşen nesne özelliklerini veya dizi elemanlarını değiştiriyorsanız, ebeveyn hâlâ bu değişikliği yansıtacaktır. Bu nedenle genel kural, bileşen kapsamındaki bir nesneyi veya dizi özelliğini hiçbir zaman değiştirmemelidir. yönergesi/bileşen kapsamında nesnenin özelliğini değiştirerek

Gerçekten de ana kapsamı yansır - tek yönlü bağlama gibi gelmiyor, sadece Bütünü karışıklığı ekler - Şimdi yarı birini yaşıyorsanız diziler için diziler veya diziler için kullanmamanız gereken yönlendirme bağlaması.

Tek yönlü veri bağlama kullanmanın yararlı bir gerçek durumu ne olabilir? Ya da beklenmedik değişikliklere karşı kendinizi korumak için tamamen kaçınmak iyi bir fikirdir - tek yönlü bir kavram, tek yönlü olduğu gerçeğine çığlık attığı için değil mi? Eğer interpolasyon ({{value}} ifade) kullanmalıdır @ durumunda

+0

I nesne gerekir: value değeri olmayan undefined olduğu zaman, bu izole edilmiş kapsamı ile sınırlı olacaktır Bu aynı sorgu var .. Cevabınız var mı? – ShaMoh

cevap

0

yönergesine bazı değer geçmesine:

<my-directive some-value="{{value}}"></my-directive> 

ve < bağlanma durumunda

scope { 
    someValue: "@" 
} 

, sen interpolasyon olmadan öznitelik değeri ayarlayın .

<my-directive some-value="{{value}}"></my-directive> 

ve Tabii

scope { 
    someValue: "<" 
} 

, someValue ilkel değil, bir dizi olabilir ya da

+0

@ ve

+3

true, '' '' 'ile arasındaki fark, yalnızca ilkel değerler bağındadır. –

+0

argh. yararsız ve kafa karıştırıcı, sonra :(gerçekten tek yönlü bağlanma bekliyordu.Ancak muhtemelen insan doğası - iki yönlü bağlama böyle bir WOW oldu ve şimdi tek yönlü bir geri alma hakkında şikayet ediyorum. :) –