1

非同期 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 でそれを行うことも考えていました。しかし、それは物事を複雑にしすぎているように思えます。

それについての考えをいただければ幸いです。

4

1 に答える 1

2

リクエストを処理するときに、サーバー上でナビゲーションバーをレンダリングしようとしているようです。

少し前にsipple(別のテンプレートエンジン)を使用してそのようなことをしましたが、haxeテンプレートやerazorなどの他のエンジン(と思います)を使用することもできます.

この号では、点描を使用してさまざまなパーシャルをどのように処理したかをまとめています

それが役に立てば幸い。

于 2015-06-21T19:18:56.183 に答える