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;

}

但这不适用于 pushstate url 的客户端。(navStr 将始终为空)

ViewResult.hx (line:126) 文档指出: 助手(动态函数)也可以包含在您的 ViewResult 中。

这可能是一个处理那个的地方吗?但不幸的是,我找不到任何帮助/示例如何将帮助函数添加到 ViewResult。

我也在考虑在自定义 ViewEngine 中进行操作。但这似乎有点把事情复杂化了。

对此的任何想法将不胜感激。

4

1 回答 1

2

似乎您希望在处理请求时在服务器上呈现导航栏。

前段时间我通过使用 sipple (另一个模板引擎)做了类似的事情,但你也可以使用其他引擎(我认为),比如 haxe 模板或 Erazor 等。

这个问题总结了我如何使用点画处理不同的部分

希望能帮助到你。

于 2015-06-21T19:18:56.183 回答