首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Aurelia中创建NavigationStrategy

在Aurelia中创建NavigationStrategy
EN

Stack Overflow用户
提问于 2018-02-28 04:27:49
回答 1查看 103关注 0票数 0

我正在尝试使用Aurelia作为我的自定义Wordpress主题的平台。

我想做的是在Wordpress中定义我的导航菜单,使用菜单的Wordpress插件通过Wordpress API将菜单公开为JSON字符串,然后在Aurelia中构建导航菜单。

到目前为止,我发现的所有内容都涉及到创建一个简单的单行菜单。

有没有人这么做过,或者能给我指个方向?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-08 09:06:15

由于您正在使用服务器端数据来构建导航菜单,因此您不妨让服务器来完成这项繁重的工作,并让它为您的路由器生成一个现成的配置。

让你的插件像这样生成JSON:

代码语言:javascript
复制
{
  "routes": [
    {
      "route": "\"...\"",
      "moduleId": "\"...\"",
      "settings": {
        "childRoutes": [
          {
            "route": "\"...\"",
            "moduleId": "\"...\"",
          }
        ]
      }
   ]
}

然后,在你的根视图模型的configureRouter中,你可以这样做:

代码语言:javascript
复制
async configureRouter(config, router) {
  const resp = await http.fetch("api/menu-plugin-uri");
  const json = await resp.json();
  config.map(json.routes);
}

子路由存储在配置的settings对象中,这意味着我们可以使用它来构建导航菜单,并且可以在子路由中访问它,如下所示:

代码语言:javascript
复制
configureRouter(config, router) {
  const parentConfig = router.parent.currentInstruction.config;
  config.map(parentConfig.childRoutes);
}

这并不能给你很好的带有isActive和所有东西的NavModels,但是当涉及到嵌套导航菜单时,这已经是目前最好的了。

实际上,我自己正在开发一个plugin,试图解决其中的一些限制,尽管还没有准备好投入生产。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49017377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档