Rumah > Artikel > hujung hadapan web > AngularJS: Adakah Terdapat Cara Lebih Baik untuk Mengendalikan Perubahan Ketinggian Navigasi Dinamik?
AngularJS: Adakah Terdapat Cara Lebih Baik untuk Mengendalikan Perubahan Ketinggian Navigasi Dinamik?
Masalah lama untuk mengekalkan bar navigasi tetap dengan kandungan ketinggian berubah-ubah di bawahnya telah membelenggu pembangun untuk beberapa lama. Secara tradisinya, pemasa telah digunakan untuk menyemak perubahan ketinggian secara berkala, mencetuskan pelarasan margin apabila dikesan. Walau bagaimanapun, pendekatan ini mempunyai kelemahan:
Penyelesaian Unggul: AngularJS Watchers
Penyelesaian yang lebih elegan dan cekap adalah dengan memanfaatkan AngularJS watchers:
/* * Get notified when height changes and change margin-top */ .directive( 'emHeightTarget', function() { return { link: function( scope, elem, attrs ) { scope.$watch( '__height', function( newHeight, oldHeight ) { elem.attr( 'style', 'margin-top: ' + (58 + newHeight) + 'px' ); } ); } } } ) /* * Checks every $digest for height changes */ .directive( 'emHeightSource', function() { return { link: function( scope, elem, attrs ) { scope.$watch( function() { scope.__height = elem.height(); } ); } } } )
Dalam pelaksanaan ini:
Atas ialah kandungan terperinci AngularJS: Adakah Terdapat Cara Lebih Baik untuk Mengendalikan Perubahan Ketinggian Navigasi Dinamik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!