「アクティブな」クラスをさまざまなページに配置するのに苦労しています。レイアウトを介して各ページにナビゲーションバーを読み込んでいますが、これが問題になる可能性がありますか?
質問する
2684 次
2 に答える
16
ナビゲーションバーを作成するためのレイアウトgsp内にこれがあり、完全に機能します。個々のアクションではなく、コントローラーのレベルのナビゲーションバーにのみアイテムがあります。
<li ${controllerName.equals('schedule') ? 'class="active"' : ''}>Schedule</li>
Grailsによって生成されたデフォルトのコントローラーには、次を使用できます。
<li ${controllerName == null ? 'class="active"' : ''}>Home</li>
于 2012-10-04T12:12:33.463 に答える
2
はい、それが問題です。
ページをリロードするたびに、すべての<li>
要素がclass=active
再びアクティブに設定されます。
あなたが/grails-app/views/layouts/main.gsp
以下を持っている場合:
<div class="navbar">
<div class="navbar-inner">
<ul class="nav">
<li class="active"><a href="/home">Home</a></li>
<li><a href="/fred">Fred</a></li>
<li><a href="/barney">Barney</a></li>
</ul>
</div>
</div>
また、FredとBarneyのGSPはmain.gspレイアウトを使用します。これらをクリックすると、上記のコードが読み込まれ、[ホーム]のリンクは引き続きアクティブになります。
解決策は、Navbarコントロール用のTaglibを作成するか、個別のレイアウトページを作成することです。
于 2012-09-18T20:29:53.600 に答える