は今のところ、私はそうのように、jQueryの経由でこれをやっている:Expressで現在のページナビゲーションをどのようにターゲットに設定できますか?
$(".navigation__item a").each(function() {
if (window.location.pathname === $(this).attr("href")) {
$(this).parent().addClass("active");
}
});
はしかし、これは完全な証拠ではないので、私は自分のナビゲーションビューに「アクティブ」パラメータに沿って通過したいのですが、私はそれをする方法がわからない。ここに私のナビゲーションテンプレートの抜粋です:
<aside class="navigation-wrap">
<ul class="navigation">
<li class="navigation__item{{#if current}} active{{/if}}">
<a href="/admin/dashboard">Overview</a>
</li>
<li class="navigation__item{{#if current}} active{{/if}}">
<a href="/admin/customization">Customization</a>
</li>
<li class="navigation__item{{#if current}} active{{/if}}">
<a href="/admin/employees">Employee</a>
</li>
</ul>
</aside>
そしてここでは、私のルート・ファイルの抜粋です:
app.get("/admin/:directory/:page", require("connect-ensure-login").ensureLoggedIn("/admin"), (req, res) => {
if (req.params.page === "new") {
res.render("admin/" + req.params.directory + "/new", Object.assign({ layout: "layouts/admin", navHighlight: "active" }, app.get("result")[0]));
} else {
employeeService.find({ query: { Slug: req.params.page }}, (error, employee) => {
employee = employee[0];
res.render("admin/employees/employee", Object.assign({ employeeRequest: req.params.page, Title: "Admin | " + employee.Name, layout: "layouts/admin" }, app.get("result")[0]));
});
}
});
誰かがまだこのような何かを達成していますか?私はSOなどを検索して何も見つけられませんでした。
うん、私はhbsモジュールを使用しています!あなたの変数はバックエンドにロードされていますか? –
私は自分の答えを更新しました!はい、それはすべてバックエンドにあることを意味します。 –
何らかの理由で、私はこのコードを動作させることができません。ナビゲーションを動的に作成することはできますが、 'active'クラスを適用することはできません。 –