Angular 2 built-in directives cover a broad range of functionality, but sometimes creating our own directives will result in more elegant solutions.