$$ postDigest Benim anlayışım bu sindirmek akım döngüsü tamamlandıktan sonra bir geri arama yangın için bir fırsat olmasıdır - sürecinde yeni sindirmek döngüsü neden olmadan.
Ancak, bu mevcut sindirmek döngüsü neden olduğu tüm DOM etkileri $$ postDigest geri arama görünür olduğu anlamına gelmez. aşağıdaki psödo kod, göz önüne
:
//some code affecting the width of an element and triggering a digest loop
myModel.width = 10; //bound back to dom element with id = 'myId'
$$postDigest(function(){
//some callback running after the most recent digest loop
//gets the width of a DOM element by reading the value directly from the DOM element
//that was changed in the previous digest loop
var width = $('#myId').width();
//Will width always be 10 here?
});
en döngü sindirmek mevcut bir ilişkili değer varsayalım değiştirmek için bir DOM öğesinin genişliği neden olur. Ardından, $$ postDigest içinde, DOM öğesinden doğrudan değiştirilen genişliği okuyan bazı eski kodlarla bir geri arama başlatırım. Digest döngüsü bittikten sonra olması gerektiğinden, $$ postDigest öğesindeki DOM öğesinden değeri okumak güvenli midir? Başka bir deyişle tarayıcı, digest döngüsünün etkilerini $$ postDigest çalıştığı zamana kadar oluşturmalıdır?
Bu desen taraftarı değilim, ancak mevcut $digest
döngüsünden sonra olmayan bazı açısal kodla