Don't use attributes to pass information between directives. Place a controller property on `uiSelect`, and then use `require: '^uiSelect'` on the children directives. The object references will be the same, so anything you attach as a property of the controller function/object will be accessible through the injected controller on children.

Only catch might be I'm not 100% what the earliest phase you can access the controller (compile > controller > link vs controller > compile > link, etc)