Skip to content
ProLoser 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 (+4 / -0)
  3. Can append more children later in separate method call: andWhen('/parent/route', '/child') (+0 / -2)
  4. Can define an 'otherwise' clause for nested routes (identical to otherwise()) (+1 / -0)
  5. Parameters
  6. Should support an optional syntax: /user/:id[/:searchTerm] (+3 / -2)
  7. Should support typecasting syntax: /user/int:id (+3 / -1)
  8. Route / View Names
  9. Should be optional
    1. Single view (+3 / -0)
    2. If nested view, unnamed route uses unnamed view at the same nesting level (+2 / -1)
  10. Names circumvent nesting level (+1 / 0)
  11. Loading Controllers
  12. All descendant controllers are reloaded (+2 / -1)
  13. $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)
  14. 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)
  15. All descendant controllers should have an access to the scope content of ascendant controllers (+3 / -0)
Clone this wiki locally