非同期 ufront アプリケーションのナビゲーション バーまたはサイトバーにアクティブ リンクを設定する方法を見つけようとしています。
サーバーでは、次のような API 呼び出しを介して、メイン (最上位) コントローラー内で動的にロードして解析できます。
@inject public function init(context:HttpContext) {
ufTrace("HomeController::init");
var navStr:String = "";
//getNavbar loads the navbar html snippet and parses the code to set 'active' some tags in relation to the request uri
var navbarSurprise = siteApi.getNavbar(context.request.uri);
navbarSurprise.handle(function (outcome) {
switch (outcome) {
case Success(navbarStr): navStr = navbarStr;
case Failure(err): navStr = "<h1>Could not load navigation: $err</h1>";
}
} );
ViewResult.globalValues["navBar"] = navStr;
}
しかし、プッシュステート URL のクライアントでは機能しません。(navStr は常に空です)
ViewResult.hx (line:126) doc には次のように記載 されています。ヘルパー (動的関数) を ViewResult に含めることもできます。
ここはそれを処理する場所でしょうか?しかし残念ながら、ViewResult にヘルパー関数を追加する方法のヘルプや例が見つかりませんでした。
カスタム ViewEngine でそれを行うことも考えていました。しかし、それは物事を複雑にしすぎているように思えます。
それについての考えをいただければ幸いです。