e does not have a controller, then an error is
raised (unless no link function is specified and the required controllers are not being bound to the directive
controller, in which case error checking is skipped). The name can be prefixed with:</p>
<ul>
<li>(no prefix) - Locate the required controller on the current element. Throw an error if not found.</li>
<li><code>?</code> - Attempt to locate the required controller or pass <code>null</code> to the <code>link</code> fn if not found.</li>
<li><code>^</code