Javascript AngularJS中固定位置的可变高度页眉

Javascript AngularJS中固定位置的可变高度页眉,javascript,html,css,angularjs,dom,Javascript,Html,Css,Angularjs,Dom,我已经实现了一个网页标题作为AngularJS指令。标题固定在浏览器窗口的顶部(位置:固定)。页眉的高度根据其内部内容而变化。标题的内部内容由AngularJS的渲染引擎管理。每当页眉高度改变时,我需要更新网页内容的上边距。(这就是固定标题的工作原理。) 我试图观察标题的高度,并使用$scope.$watch更新内容的上边距。有时它可以工作,但有时我必须点击导航链接两次,以获得正确的边距大小。在浏览器完全更新或渲染标题之前,似乎检测并处理了高度更改 我的问题是:当Angular调用的DOM操作完

我已经实现了一个网页标题作为AngularJS指令。标题固定在浏览器窗口的顶部(位置:固定)。页眉的高度根据其内部内容而变化。标题的内部内容由AngularJS的渲染引擎管理。每当页眉高度改变时,我需要更新网页内容的上边距。(这就是固定标题的工作原理。)

我试图观察标题的高度,并使用$scope.$watch更新内容的上边距。有时它可以工作,但有时我必须点击导航链接两次,以获得正确的边距大小。在浏览器完全更新或渲染标题之前,似乎检测并处理了高度更改

我的问题是:当Angular调用的DOM操作完成时,是否可以运行一些代码?或者是否有其他方法可以使固定可变高度页眉工作

以下是我的HTML代码片段:

<my-header></my-header>
<div class="content">
    ...
</div>

请发布您的代码标题内容是动态的,对吗?我想你可以尝试在动态内容填充后调整边距值(初始化时在
link
函数中,或者在ajax调用后调整边距值,这可能会改变高度)。在我写的一个快速测试中,我没能做到这一点:如果你能做到,那么我可以帮助你跟踪它。请包含更多更新我的标题内容的代码。请发布您的代码标题内容是动态的,对吗?我想你可以尝试在动态内容填充后调整边距值(初始化时在
link
函数中,或者在ajax调用后调整边距值,这可能会改变高度)。在我写的一个快速测试中,我没能做到这一点:如果你能做到,那么我可以帮助你跟踪它。请包含更多更新我的标题内容的代码。
function MyHeaderController($scope, $element) {
    $scope.$watch(getHeaderHeight, fixContentMargin);

    function getHeaderHeight() {
        return $element[0].offsetHeight;
    };

    function fixContentMargin(newValue) {
        $element.parent()[0].querySelector('.content').style.marginTop = newValue + 'px';
        return;
    };
}