경로를 처음로드 할 때 수동 HTML 레이아웃 해결 프로그램을 일관성있게 실행하려고 할 때가 있습니다. (나는 부트 스트랩을 사용하고 있지만 클라이언트의 레이아웃은 틀에 얽매이지 않습니다.) 많은 검색을 수행하고 몇 가지 수정을 시도했습니다. 시청중인 $viewContentLoaded
이 작동하지 않았습니다. angular.element(document).ready()
을 사용하면 이동하지 않았습니다. 표준 jQuery를 사용하면 $(document).ready()
이 작동하지 않습니다. ng-init
가 작동하지 않았습니다. 많은 사람들이 지정된 지연없이 $timeout
서비스를 사용하도록 제안했습니다.이 지연은보기가로드 된 후 실행됩니다. 적어도 때로는 성공적이었습니다.
var w = angular.element($window);
var dimensionFixer = function() {
angular.element('#home-bottom').css("height", angular.element('#top').height());
angular.element('#logo-box').css("height", angular.element('#home-top-left').height() - angular.element("#home-top-right-partial").height() - 15);
};
w.bind('resize', dimensionFixer);
$timeout(dimensionFixer);
가 가끔 작동 :
여기 내 컨트롤러의 덩어리입니다. 때로는 그렇지 않습니다. 나는 또한 $viewContentLoaded
과 $timeout
을 결합하려고 시도했습니다. 크기 조정시 항상 작동합니다. $timeout
또는 브라우저 기능이 변경 되었습니까?
감사합니다.
DOM을 업데이트
$scope.$apply
를 호출 . 그것은 여전히 오른쪽 정렬 할 수 있습니다. $ scope. $ apply() 호출하려면 어디에? 내가 시도한 곳에서 내 inprog 오류가 발생했습니다. 편집 : 함수를 resize 이벤트에 바인딩 한 후 'dimensionFixer();'가 추가되었습니다. 일하고있는 것 같아서 고마워! 편집 2 : 아니, 여전히 항상 작동하지는 않습니다. :( –