我试图弄清楚如何在导航栏或网站栏中为异步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中进行此操作。但这似乎有点像过度复杂的事情。
对此的任何想法都将不胜感激。
答案 0 :(得分:2)
似乎您希望在处理请求时在服务器上呈现导航栏。
我前段时间通过使用sipple(另一个模板引擎)做了类似的事情,但你也可以使用其他引擎(我认为)像haxe模板或者erazor等。
This issue总结了我如何使用stipple
处理不同的部分内容希望它有所帮助。