I am wrapping ui-bootstrap's typeahead directive in another directive, because I'll be using the same code for numerous times. For example, I'll be using the same code for more than 7 times in the app:

<input type="text" name="name" ng-model="thisCtrl.name" typeahead="data.name for data in requestHttp($viewValue)" typeahead-on-select="thisCtrl.id = $item.id" typeahead-template-url="thisTemplate.html>

which is extremely verbose and non-DRY to implement. However, typeahead does not seem to recognize my ng-model, and does not change after selecting an item from the dropdown list.

Here's a plnkr for demonstration purposes.