如何在异步ufront应用程序中设置活动链接(navbar)

时间:2015-06-21 13:27:39

标签: haxe ufront

我试图弄清楚如何在导航栏或网站栏中为异步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(第126行)doc说明: 助手(动态功能)也可以包含在您的ViewResult中。

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

我也在考虑在自定义ViewEngine中进行此操作。但这似乎有点像过度复杂的事情。

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

1 个答案:

答案 0 :(得分:2)

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

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

This issue总结了我如何使用stipple

处理不同的部分内容

希望它有所帮助。