DataBinding in Angular
§ Data binding is the mechanism for coordinating between the Template (DOM) and Component (Property).
§ Data binding means data flowing from component to template or data flowing template to component.
§ Data binding plays an important role in communication between a template and its component, and is also important for communication between parent and child components.
§ In Angular data-binding can be broadly classified into 3 categories.
Data
Binding
|
Description
|
One-way data-binding |
From Component to View Template |
One-way data-binding |
|
Two-way data-binding |
From Component to View Template & From View template to Component |
v One-way data-binding
§ we will discuss the first one-way data-binding i.e. From Component to View Template. We achieve this using interpolation
§ Interpolation is a way of all about data binding.
§ Suppose We create a new property in the AppComponent class and let's call it title and assignment the string.
Example:-
§ In Component class(app.component.ts) file we define two property named siteName, siteUrl.now we try to access component class property into template(app.component.html)file.
app.component.ts
app.component.html
§ You
can specify any valid expression in double curly braces also. For example, you
can have
§ The
above expression evaluates to 600
§ The
expression that is enclosed in double curly braces is commonly called as
Template Expression.
§ You
can also use interpolation to set <img> src as shown in the example
below.
§ Creating
images folder: We will place all the images that we are going to use in
"images" folder. We will have the images folder in the
"assets" folder. So, add a new folder in the "assets"
folder and name its "images" and copy the following 3 images. Name
the images virat.png, rohit.png and sachin.png.
app.component.ts
app.component.html
We can also call class methods using interpolation as shown below.
app.component.ts
Output:-
v You can also use interpolation to be a ternary operator as shown in the example below
v Double curly braces contain template expressions which allow us to read primitive or object values from component properties.You can also use interpolation to be a ternary operator as shown in the example below.
app.component.ts
Now we are using angular material table for designing following template.
§ So first add angular material in our project by following command
§ ng add @angular/material
§ Now we open Terminal in VSCode
§ To open Terminal in VSCode go to view menu and click on it and select Integrated Terminal
The ng add command will additionally perform the following configurations:
§ Add project dependencies to package.json.
§ Add the Roboto font to your index.html.
§ Add the Material Design icon font to your index.html.
§ Add a few global CSS styles to:
§ Remove margins from body
§ Set height: 100% on html and body
§ Set Roboto as the default application font
§ The ng add command will install Angular Material, the Component Dev Kit (CDK), Angular Animations and ask you the following questions to determine which features to include:
§ Choose a prebuilt theme name, or "custom" for a custom theme:
Set up browser animations for Angular Material:
§ Importing the BrowserAnimationsModule into your application enables Angular's animation system.
§ So When we add angular material in our project then in app module (app.module.ts)file BrowserAnimationsModule is imported and added in import’s array.
§ Open the app.module.ts file and check here.