Skip to content
lrlopez edited this page Jan 21, 2013 · 137 revisions

Vote on specifications so we can reach a conclusion

  • Add a + on a feature or design point you concur
  • Add a - on a feature or design point you do not like
  • Create a new bullet for new feature/design points
    • Nest bullets if they are related or subfeatures/points
    • Keep bullets concise
  • Vote count will decide priority
    • You can vote on any bullet once
  • Avoid 'discussing' bullets here. If you disagree, down-vote and discuss in #1

Router Specifications

  1. Defining routes
  2. Should be a recursively nested object (+3 / -0)
  3. Can append more children later in separate method call: andWhen('/parent/route', '/child') (+0 / -2)
  4. Parameters
  5. Should support an optional syntax: /user/:id[/:tab] (+3 / -0)
  6. Should support typecasting syntax: /user/int:id (+3 / -0)
  7. Route / View Names
  8. Should be optional
    1. Single view (+3 / -0)
    2. If nested view, unnamed route uses unnamed view at the same nesting level (+2 / -1)
  9. Names circumvent nesting level (+1 / 0)
  10. Loading Controllers
  11. All descendant controllers are reloaded (+2 / -1)
  12. $routeUpdated event is $broadcast instead of reloading controller
    1. Always use event (+0 / -2)
    2. Provide optional to opt-in, otherwise reload controller (+3 / -0)
  13. If child route no longer matches
    1. controller is unloaded (+1 / -1)
    2. related view is emptied (+1 / -1)
    3. controller is unloaded by default but the developer can change the behavior (+2 / -0)
    4. related view is emptied by default but the developer can change the behavior (+2 / -0)
  14. All descendant controllers should have an access to the scope content of ascendant controllers (+3 / -0)