хочу директиву чтобы из 
<input custom-directive="name">
получилось
<input id="name" name="name" ng-model="name" type="text">
делаю так
.directive( 'customDirective', function(){
		return {
			compile: function( elem, attrs, transclude ){
				var name = attrs.customDirective;
				var type = attrs.type;
				elem.attr( 'id', name );
				elem.attr( 'name', name );
				elem.attr( 'ng-model', name );
				if ( !type ){
					elem.attr( 'type', 'text' );
				}
			}
		}
	} );
но тк событие $compile уже прошло данные не связываются, 
какие у кого есть соображения по этому поводу?
как сделать так чтобы работало?
и да забыл указать, должно работать так же для select и textarea.