In Angular, the @Input decorator marks a property in the child component to receive data from its parent. The parent component passes data by binding a property in its template to the child's input property using square brackets. When the parent property changes, Angular automatically updates the child's @Input property. The child component can then use this data in its template or logic. This flow is one-way: from parent to child. The child should not modify the input property directly to keep data consistent. This mechanism helps components communicate clearly and keeps data flow predictable.