我试图弄清楚如何在导航栏或站点栏中为异步 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 中进行操作。但这似乎有点把事情复杂化了。
对此的任何想法将不胜感激。