パーシャルとテンプレート化のために、このテンプレートで AngularJS (および ui.router) を使用しようとしています。(シングルページにするため)。
私のページは正常にレンダリングされますが、 angular で使用すると.content-wrapper
div タグが間違ったmin-height
属性 (564px;) を取得します。しかし、サンプルページを表示するstarter.html
と、問題ありません(494px;)。
誰かがなぜこれを行うのか説明できますか? これはブートストラップですか?角度またはテーマ?それとも組み合わせ?
ソース (クロムでレンダリングされ、小さく保つために折りたたまれています):
大きな画面で表示した場合も同様です。フッターはビューポートの外で画面からはみ出し、スクロール バーが表示されますが、テスト用のページ ヘッダーにすぎないため、コンテンツはありません。
誰がどこを見ればいいのか考えましたか?
編集:
私は問題が何であるかを見つけましたが、まだ解決策を見つけていません:
テーマで使用される app.js には、次のコードがあります。
var neg = $('.main-header').outerHeight() + $('.main-footer').outerHeight();
var window_height = $(window).height();
このコードをページの下部にあるスクリプト タグに配置し、アラートを作成しました。
<script>
var head = $('.main-header').outerHeight();
var foot = $('.main-footer').outerHeight();
var window_height = $(window).height();
alert("Header: " + head + " Footer: " + foot + " Window: " + window_height);
</script>
ヘッダーの高さは NULL、フッターは 31、ウィンドウは 595 です。コンソールでこれらのコマンドを個別に実行すると (ページが完全にレンダリングされた後)、次のようになります: ヘッダー: 50、フッター: 51、ウィンドウの高さ 595。 (51 + 50 = 101. 595 - 101 = 494. これは正しいコンテンツ ラッパーの高さです)。
そのため、JQuery はヘッダーとフッターの高さを決定できません。おそらく、まだレンダリングされていないためです。これはおそらく ui.router/Angular の問題ですか?
最初に angular および angular ui ルーターをロードし、次に angular スクリプトをロードします。次に、JQuery、ブートストラップ、最後にテーマの app.js です。
誰でもこれを解決する方法を知っていますか?