【问题标题】:Does AngularJS routing provide support for "breadcrumb views"?AngularJS 路由是否提供对“面包屑视图”的支持?
【发布时间】:2015-08-27 15:14:54
【问题描述】:

我不知道这种路由/导航风格是否有名字,但 play.spotify.com 就是一个很好的例子。简而言之,在每个导航决定中,网站都会加载一个新视图而不删除旧视图。这允许令人愉悦的“视觉面包屑”,增强单页应用程序的连续性感觉。

关键特征:

  • URL 反映当前状态,因此重新加载(或链接共享)会删除此历史记录。
  • 历史长度(表面上)是任意的 - 这不是分层树状导航,而是图上的一条路径。

我的问题是

  • 是否有路由方案(通过 ui-router 或其他方式)可以在 Angular 中实现这一点?
  • 这个有名字吗?

我能看到的唯一实现方法是在 ui-router 中以编程方式添加状态,如“Angular - UI Router - programmatically add states”,但它看起来很hacky。

【问题讨论】:

    标签: angularjs routing navigation angular-ui-router


    【解决方案1】:

    我不确定这是否有名字,如果有的话,我从来没有遇到过。上面视频中的行为可以通过使用包含侧边栏的布局来实现,这些边栏在路线改变时不会改变。

    正在更改的部分都在中心,因此基于小部件的方法将页眉、页脚和侧边栏放在主页上。然后 <div ui-view></div> 位于主页中间,只有当您选择新路线时,此内容才会改变

    希望对你有帮助

    【讨论】:

    • 嗨,格雷厄姆,感谢您的回答。我知道侧边栏不应该是不断变化的观点的一部分。但是,我不清楚如何实现保存过去视图的功能。请注意,在 GIF 的后半部分,我可以在不执行任何 AJAX 调用的情况下单击导航历史记录。
    猜你喜欢
    • 2015-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多