AngularJS:有更好的方法來處理動態導航高度變化嗎?
維護固定導覽列的老問題一段時間以來,其下方的可變高度內容一直困擾著開發人員。傳統上,計時器用於定期檢查高度變化,並在檢測到時觸發邊距調整。然而,這種方法有缺點:
高級解決方案: AngularJS 觀察者
更優雅、更有效率的解決方案是利用AngularJS 觀察者:
/* * 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(); } ); } } } )
在此實作中:
以上是AngularJS:有更好的方法來處理動態導航高度變化嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!