(require, $element)
| 4264 | |
| 4265 | |
| 4266 | function getControllers(require, $element) { |
| 4267 | var value, retrievalMethod = 'data', optional = false; |
| 4268 | if (isString(require)) { |
| 4269 | while((value = require.charAt(0)) == '^' || value == '?') { |
| 4270 | require = require.substr(1); |
| 4271 | if (value == '^') { |
| 4272 | retrievalMethod = 'inheritedData'; |
| 4273 | } |
| 4274 | optional = optional || value == '?'; |
| 4275 | } |
| 4276 | value = $element[retrievalMethod]('$' + require + 'Controller'); |
| 4277 | if (!value && !optional) { |
| 4278 | throw Error("No controller: " + require); |
| 4279 | } |
| 4280 | return value; |
| 4281 | } else if (isArray(require)) { |
| 4282 | value = []; |
| 4283 | forEach(require, function(require) { |
| 4284 | value.push(getControllers(require, $element)); |
| 4285 | }); |
| 4286 | } |
| 4287 | return value; |
| 4288 | } |
| 4289 | |
| 4290 | |
| 4291 | function nodeLinkFn(childLinkFn, scope, linkNode, $rootElement, boundTranscludeFn) { |
no test coverage detected