ChangeDetectionStrategy #
@Component dekoratörü, bileşenin değişiklik algılama modunu kontrol eden bir changeDetection seçeneğini kabul eder. İki değişiklik algılama modu seçeneği vardır.
ChangeDetectionStrategy.Default, şaşırtıcı olmayan bir şekilde varsayılan stratejidir. Bu modda Angular, uygulama genelinde herhangi bir etkinlik gerçekleştiğinde bileşenin DOM’unun güncellenmesi gerekip gerekmediğini kontrol eder. Bu kontrolü tetikleyen etkinlikler arasında kullanıcı etkileşimi, ağ yanıtı, zamanlayıcılar ve daha fazlası yer alır.
ChangeDetectionStrategy.OnPush, Angular’ın gerçekleştirmesi gereken kontrol miktarını azaltan isteğe bağlı bir moddur. Bu modda, çerçeve yalnızca bir bileşenin DOM’unun ne zaman bir güncellemeye ihtiyacı olup olmadığını kontrol eder:
- Bir bileşen girdisi, şablondaki bir bağlama sonucunda değişmiştir veya
- Bir olay dinleyici bu bileşende çalışır.
- Bileşen, ChangeDetectorRef.markForCheck veya AsyncPipe gibi onu saran bir şey aracılığıyla kontrol için açıkça işaretlenir.
Ayrıca, bir OnPush bileşeni kontrol edildiğinde, Angular uygulama ağacında yukarı doğru ilerleyerek tüm ata bileşenlerini de kontrol eder.
PreserveWhitespace #
Varsayılan olarak, Angular şablonlardaki gereksiz boşlukları kaldırır ve daraltır, bunlar genellikle yeni satırlar ve girintilerden kaynaklanır. Bir bileşenin meta verilerinde preserveWhitespace‘i açıkça false olarak ayarlayarak bu ayarı değiştirebilirsiniz.
Özel öğe şemaları #
Varsayılan olarak, Angular bilinmeyen bir HTML öğesiyle karşılaştığında bir hata atar. Bileşen meta verinizdeki schemas özelliğine CUSTOM_ELEMENTS_SCHEMA ekleyerek bir bileşen için bu davranışı devre dışı bırakabilirsiniz.
import {Component, CUSTOM_ELEMENTS_SCHEMA} from '@angular/core';
@Component({
...,
schemas: [CUSTOM_ELEMENTS_SCHEMA],
template: '<some-unknown-component></some-unknown-component>'
})
export class ComponentWithCustomElements { }
Angular şu anda başka herhangi bir şemayı desteklememektedir.