Skip to content
vincentdieltiens 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

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