我很新的角度,所以任何幫助將不勝感激。 我試圖根據屏幕大小(減去頁眉和頁腳)在頁面加載,窗口大小調整和另一個自定義事件(當用戶單擊以消耗內容時)垂直對齊div。所以我爲它寫了一個指令,我不確定這是否是正確的方法。我需要獲取指令中的元素高度才能使其工作。Angular JS - 在查看渲染前獲取指令中的元素高度
只是CSS,沒有任何JS,在我的情況下無法正常工作,該標記是嵌套/複雜的。我嘗試了不同的方法(inline-block的/翻譯/等)
問題:
當試圖首先進入指令時,元素高度爲0(零),我猜這是因爲視圖還沒有渲染。如果是這樣的話,這當然是有道理的,但我該如何解決它,所以當視圖轉換開始時,我已經通過JS做了所有必要的CSS更改?
如何在我加載更多內容或任何其他DOM操作之後「調用」該指令?
到目前爲止我的代碼:
app.directive('valign', ['$window', function ($window) {
return {
link: function ($scope, $element) {
var window = angular.element($window);
$scope.setHeight = function() {
var contentHeight = window.height() - $('#header').outerHeight(true) - $('#footer').outerHeight(true);
// Here I want to get the $element height so I can set the proper margin for it, for example
};
$scope.setHeight();
window.bind('resize', function() {
$scope.setHeight();
$scope.$apply();
});
}
};
}]);
你沒有在你的鏈接功能 – gr3g