单页面应用程序中的分层路由

时间:2014-12-16 14:28:17

标签: javascript angularjs

我正在构建单页应用。我一直在玩AngularJS。我对2.0有点紧张,所以我愿意接受Angular的替代方案。我的挑战是,我的网站有层次结构。

/Home
  /About
    /Blog
      index.html
      post1.html
      post2.html
      ...
    /Products
      index.html
      product1.html
      product2.html
      ...
    index.html
  /Contact
    /Online
      form.html
  index.html

我看到的大多数SPA应用程序只有一个级别。此外,我无法为与每个级别关联的导航项目制作动画。换句话说,当我点击顶层的链接时,我希望子导航项能够生成动画。另一个问题是动态加载内容。我不想在最初加载时加载我的应用,相反,我想推迟加载内容直到需要。

任何人都可以推荐SPA框架来帮助我应对这一挑战吗?我不认为我可以用Angular 1.3来解决这个问题。 Angular 2.0中的路由器看起来像一个潜在的选择。但就目前而言,它看起来并不可行。

谢谢!

1 个答案:

答案 0 :(得分:0)

  

我的挑战是,我的网站有层次结构

SPA或AngularJS没有任何内容可以使层次结构比1级平面结构更难。内置的角度路由器可以处理这个问题。

  

此外,我无法为与每个级别关联的导航项设置动画。

好吧,发布一个关于这个问题的详细问题,但也许可以退一步思考“动画导航”。听起来像是低可用性,分散注意力,对我不必要的行为。您希望为某个公司建立一个基本的营销和销售网站。不确定动画导航应该是一个主要问题。

  

我不想在最初加载时加载我的应用,相反,我想推迟加载内容直到需要。

这几乎肯定是过早优化和误用工程成本/工作量。推迟加载内容(HTML和文本),但可能不是代码(javascript)。将应用程序拆分为延迟加载模块适用于拥有100个开发人员和具有多个复杂区域的巨大代码库的应用程序(想想airbnb,facebook)。您实际需要做到这一点并让您的利益相关者付出有价值的努力(成本/收益)的机会非常渺茫。

  

我认为我不能用Angular 1.3解决这个问题

我建议您首先尝试使用内置的angular 1.3路由器,如果您最终想要在同一网址路径中使用多个不同的状态,请查看angular-ui-router