I guess you can't entirely avoid coupling at some level. Generally we were really successful with the approach of breaking everything up into smaller controls that are then composed by another. E.g. a Grid Control would contain a table-scroll control, a paginator control and a list control (which renders each row as a table) and then put them all together. You could always make them configurable through this.options (which is kind of the CanJS way of dependency injection I guess).
↧