使用Guid的嵌套视图,路径太长(ui-router)。正确的做法?

时间:2016-05-28 05:37:38

标签: angularjs angular-ui-router angular-routing

我们正在开发一个包含大量嵌套视图的Angular应用程序。

我将在这里举一个简短的例子,

  1. 我们有一个城市,
  2. 一个城市可以有多个地区
  3. 某个地区有学校名单
  4. 学校有课程
  5. 课程让学生和学生可以了解他的详细信息。
  6. 这只是应用程序的一部分,我们有许多其他嵌套路由。

    现在,我配置路线的方式是 -

     .state('city', {
       url: '/city'
       // Other stuff removed for sanity
     })
     .state('city.details', {
       url: '/:cityId/details'
       // Other stuff removed for sanity
     })
     .state('city.schools', {
       url: ':cityId/schools'
       // Other stuff removed for sanity
     })
     .state('city.schools.details', {
       url: '/:schoolId/details'
       // Other stuff removed for sanity
     })
     .state('city.schools.students', {
       url: '/:schoolId/students'
       // Other stuff removed for sanity
     })
     .state('city.schools.students.details', {
       url: '/:studentId/details'
       // Other stuff removed for sanity
     })
     .state('city.schools.students.timeline', {
       url: '/:studentId/timeline'
       // Other stuff removed for sanity
     })
     .state('city.schools.students.timeline.details', {
       url: '/:timelineId/details'
       // Other stuff removed for sanity
     })
    

    路由类似于此。一切都很完美,但当我在最深的路线特别时,Guids作为唯一的标识符,即

    https://www.contoso.com/#/city/949C3148-5E74-41E2-BF2A-17C49FBCC15F/schools/4DE61D87-0DFB-445E-B4B0-3E1A3BB1DB30/students/EF56D682-BCFB-4431-A5EF-7F1F8CF4915D/timeline/14442B0A-0856-4269-A771-3B1BA8B283D1/details

    这是太长的网址,如果我没有错,则用户不友好。

    是否有优化此类路线的空间?任何专家建议都会有所帮助。

    的Rahul。

0 个答案:

没有答案