Angular Material comes packaged with Angular CLI schematics to make creating Material applications easier.
Schematics are included with both @angular/cdk
and @angular/material
. Once you install the npm
packages, they will be available through the Angular CLI.
Using the command below will install Angular Material, the Component Dev Kit (CDK), and Angular Animations in your project. Then it will run the install schematic.
ng add @angular/material
In case you just want to install the @angular/cdk
, there are also schematics for the Component Dev Kit
ng add @angular/cdk
The Angular Material ng add
schematic helps you setup an Angular CLI project that uses Material. Running ng add
will:
package.json
index.html
index.html
body
height: 100%
on html
and body
hammerjs
for gesture support in your projectIn addition to the install schematic, Angular Material comes with multiple schematics that can be used to easily generate Material Design components:
Name | Description |
---|---|
address-form |
Component with a form group that uses Material Design form controls to prompt for a shipping address |
navigation |
Creates a component with a responsive Material Design sidenav and a toolbar for showing the app name |
dashboard |
Component with multiple Material Design cards and menus which are aligned in a grid layout |
table |
Generates a component with a Material Design data table that supports sorting and pagination |
tree |
Component that interactively visualizes a nested folder structure by using the <mat-tree> component |
Additionally the Angular CDK also comes with a collection of component schematics:
Name | Description |
---|---|
drag-drop |
Component that uses the @angular/cdk/drag-drop directives for creating an interactive to-do list |
Running the address-form
schematic generates a new Angular component that can be used to get
started with a Material Design form group consisting of:
ng generate @angular/material:address-form <component-name>
The navigation
schematic will create a new component that includes
a toolbar with the app name and a responsive side nav based on Material
breakpoints.
ng generate @angular/material:nav <component-name>
The table schematic will create a component that renders an Angular Material <table>
which has
been pre-configured with a datasource for sorting and pagination.
ng generate @angular/material:table <component-name>
The dashboard
schematic will create a new component that contains
a dynamic grid list of Material Design cards.
ng generate @angular/material:dashboard <component-name>
The tree
schematic can be used to quickly generate an Angular component that uses the Angular
Material <mat-tree>
component to visualize a nested folder structure.
ng generate @angular/material:tree <component-name>
The drag-drop
schematic is provided by the @angular/cdk
and can be used to generate a component
that uses the CDK drag and drop directives.
ng generate @angular/cdk:drag-drop <component-name>