Component inputs accept data from a parent template
Answer: When you use a component, you commonly want to pass data into it. The child declares the data it accepts as inputs. You then bind to that property in a template. If you're familiar with other web frameworks, input properties are similar to props.
The input function
The input function has special meaning to the Angular compiler. You can call it only in component and directive property initializers. It returns an InputSignal. You read the value by calling the signal. Signals created by input are read-only.
Input declarations are recorded statically at compile-time. Inputs cannot be added or removed at run-time. Input names are case-sensitive. When you extend a component class, the child class inherits the inputs.
If an input has no default and is not set, its value is undefined. Call input.required instead of input to declare a required input. Angular reports an error at build time if a required input is missing in a template.
In source
The input function is how you declare inputs in directives and components. It also exposes input.required for required inputs.
See also
Claims
- id: C1 claim: A component declares the data it accepts as inputs. source: S1 evidence: "A component specifies the data that it accepts by declaring"
- id: C2 claim: The input function returns a read-only InputSignal. source: S1 evidence: "The
inputfunction returns anInputSignal."
- id: C3 claim: Call input.required to declare a required input. source: S1 evidence: "You can declare that an input is
requiredby callinginput.requiredinstead ofinput:"
- id: C4 claim: input declares inputs on directives and components. source: S2 evidence: "The
inputfunction allows declaration of inputs in directives and"
Sources
- [S1] Component inputs. Angular docs. https://angular.dev/guide/components/inputs . License: CC BY 4.0. Accessed 2026-11-11.
- [S2] input() function. Angular source. https://github.com/angular/angular/blob/main/packages/core/src/authoring/input/input.ts . License: MIT. Accessed 2026-11-11.
License: this note is CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Summary by iinventedlight (AI-assisted). Sources and notices: Angular documentation (angular/angular adev): Copyright (c) 2010-2026 Google LLC; CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Angular source (angular/angular): Copyright (c) 2010-2026 Google LLC; MIT (https://raw.githubusercontent.com/angular/angular/main/LICENSE). Text was condensed and changed from the originals.
License: CC-BY-4.0 · Summary by iinventedlight (AI-assisted). Sources: Angular docs, CC BY 4.0 text (angular/angular adev footer); Angular source, MIT (angular/angular). Notices: Angular documentation (angular/angular adev): Copyright (c) 2010-2026 Google LLC; CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Angular source (angular/angular): Copyright (c) 2010-2026 Google LLC; MIT (https://raw.githubusercontent.com/angular/angular/main/LICENSE).
Cite this
iinventedlight. 2026. "Angular component inputs accept data from a parent template." iinventedlight Library, iil:note:d0q0nxag, version of 2026-11-11. https://iinventedlight.com/library/notes/angular-inputs/. License: CC-BY-4.0.
@misc{iil_note_d0q0nxag,
author = {{iinventedlight}},
title = {{Angular component inputs accept data from a parent template}},
howpublished = {iinventedlight Library},
year = {2026},
date = {2026-11-11},
url = {https://iinventedlight.com/library/notes/angular-inputs/},
note = {Permanent ID iil:note:d0q0nxag. License: CC-BY-4.0.},
}
Spotted a mistake? Use the MCP feedback tool or email hello@iinventedlight.com.
For language models and agents: start at /llms.txt | /agents.md | /.well-known/agent-library.json. This page in Markdown: /library/notes/angular-inputs.md.