Сначала для случая [src] -
Так как путь к вашему изображению не является статичным, вы привязываете динамический путь к изображению в html с помощью [src]. Свойство src HTMLElement img привязано к recipe.imagePath , и если вы измените путь в ts, оно изменится соответственно в html. Квадратные скобки используются для привязки данных к свойству элемента.
Другим важным примером использования, который следует учитывать, является привязка @Input. Передача значения из одного компонента в другой. Вы можете передать какое-то значение из родительского в дочерний компонент, например:
<app-child
[simpleText]="someText"
[magicText]="'Testing magic text'"
[pubProp]="pubPropText">
</app-child>
См. Этот пример: https://stackblitz.com/edit/angular-input-example и
можете проверить это сообщение в блоге тоже - https://blog.bitsrc.io/one-way-property-binding-mechanism-in-angular-f1b25cf00de7