← Back to Articles         
What is interpolation?

What is interpolation?

Published on 29 Sep 2026     4 min read Angular
Data Binding

What is Interpolation in Angular?

What is Interpolation?

Interpolation is a type of one-way data binding in Angular used to display data from the component (TypeScript) in the template (HTML).

It uses double curly braces:

{{ expression }}

The data flows in one direction:

Component (TypeScript)
        ↓
      Template
       (HTML)

For example, if the component contains:

name = 'Syed';

You can display it in HTML:

<h2>Welcome {{ name }}</h2>

Output:

Welcome Syed

Why Do We Need Interpolation?

In Angular applications, values displayed on a page are often dynamic.

For example:

  • User name
  • Product name
  • Product price
  • Article title
  • Current status
  • Calculated values

Instead of hard-coding:

<h2>Welcome Syed</h2>

we can use:

<h2>Welcome {{ name }}</h2>

Now the displayed value comes from the component.


Purpose

The main purpose of interpolation is to render component values or expressions as text in the template.

You can use interpolation for:

Displaying a property

<h1>{{ title }}</h1>

Displaying multiple properties

<p>{{ firstName }} {{ lastName }}</p>

Simple expressions

<p>Total: {{ price * quantity }}</p>

Calling a simple method

<p>{{ getFullName() }}</p>

However, avoid expensive method calls in templates because they may be evaluated repeatedly during rendering/change detection.


Simple Example

TypeScript

import { Component } from '@angular/core';

@Component({
  selector: 'app-user',
  standalone: true,
  templateUrl: './user.html'
})
export class User {
  name = 'Syed';
  age = 48;
  city = 'Erode';
}

HTML

<h2>{{ name }}</h2>

<p>Age: {{ age }}</p>

<p>City: {{ city }}</p>

<p>{{ name }} lives in {{ city }}</p>

Angular evaluates the expressions inside {{ }} and displays their values.


How Interpolation Works

Suppose:

title = 'Angular Data Binding';

Template:

<h1>{{ title }}</h1>

Conceptually:

Component
    │
    │ title = "Angular Data Binding"
    ↓
Interpolation
    │
    │ {{ title }}
    ↓
Template
    │
    ↓
Angular Data Binding

Therefore, interpolation is:

Component → View one-way binding


What Can We Use Inside {{ }}?

Angular supports many template expressions.

{{ name }}

{{ firstName + ' ' + lastName }}

{{ price * quantity }}

{{ isAdmin ? 'Admin' : 'User' }}

{{ name.toUpperCase() }}

You can also use pipes:

{{ name | uppercase }}

{{ price | currency }}

Interpolation vs Property Binding

Both normally transfer data from:

Component → View

But they are commonly used for different purposes.

Interpolation Property Binding
{{ value }} [property]="value"
Commonly renders values as text Sets an element/component property
Welcome {{ name }} [disabled]="isDisabled"
Simple and readable for textual output Better for non-string/property values

Example:

<h2>{{ name }}</h2>

Property binding:

<button [disabled]="isDisabled">Save</button>

Advantages

  • Very simple syntax.
  • Easy to read and understand.
  • Automatically displays component data.
  • Reduces manual DOM manipulation.
  • Supports expressions and pipes.
  • Useful for displaying dynamic content.

Disadvantages

  • It is primarily one-way; the user cannot update the component property through interpolation itself.
  • Complex expressions make templates difficult to maintain.
  • Expensive method calls inside interpolation can hurt performance if repeatedly evaluated.

For example, avoid complex logic like:

{{ calculateVeryComplexResult() }}

Prefer preparing the required value in the component when appropriate.


Key Points

  • Interpolation is a one-way data binding technique.
  • Data flows from Component → Template.
  • Syntax is {{ expression }}.
  • It is mainly used to display dynamic values.
  • It can evaluate simple template expressions.
  • It can use Angular pipes.
  • Avoid complex business logic inside interpolation expressions.
  • Interpolation itself does not send values from the view back to the component.

Easy way to remember

{{ }} = Display component data

Interview Questions and Answers

Q1. What is interpolation in Angular?

Answer:
Interpolation is a one-way data binding technique used to display component data in an Angular template using {{ }}.

<h1>{{ title }}</h1>

Q2. What is the direction of interpolation?

Answer:

Component → View

It transfers data from the component to the template.


Q3. What is the syntax for interpolation?

Answer:

{{ expression }}

Example:

<p>{{ userName }}</p>

Q4. Can interpolation evaluate expressions?

Answer:
Yes. It can evaluate template expressions.

{{ price * quantity }}

{{ firstName + ' ' + lastName }}

{{ isAdmin ? 'Admin' : 'User' }}

Q5. Can we use pipes with interpolation?

Answer:
Yes.

{{ name | uppercase }}

{{ price | currency }}

Q6. Is interpolation one-way or two-way binding?

Answer:
Interpolation is one-way binding.

Component → View

It does not update the component property when the user changes something in the UI.


Q7. What is the difference between interpolation and property binding?

Answer:
Interpolation is commonly used to display values as text, while property binding is used to set DOM, directive, or component properties.

<!-- Interpolation -->
<h2>{{ userName }}</h2>

<!-- Property Binding -->
<button [disabled]="isDisabled">Save</button>

Both normally represent Component → View data flow.

← Back to Articles