1. Installl latest @angular/cli:

sudo npm i -g @angular/cli@next

The version I used is:6.0.0-rc.10

2. Create a new application:

ng new cdk-demo --routing

3. Install material and cdk packages:

Here need to add @next, because by the time I tried the application, v6 angular is not released yet.

npm install --save @angular/material@next @angular/cdk@next

4. Using 'ng add' to add material to the application:

ng add @angular/material

This command did some changes to the project, add some necessary code and files, which makes the whole process lot easier.

5. Update some code:

app.module.ts:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core'; import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { MatCheckboxModule } from '@angular/material'; // <-- added @NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
AppRoutingModule,
BrowserAnimationsModule,
MatCheckboxModule, // <-- added
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }

app.component.html:

<mat-checkbox>Toggle</mat-checkbox>

Then you should be able to see a toggle element on the page.

The progress was much better than before.

But even more awesome stuff is the following.

6. Genearte a material based component by using cli:

ng g @angular/material:materialNav --name=main-nav

Then just use it in the app.component.html:

<main-nav></main-nav>

We can also do:

ng g @angular/material:material-table --name=main-table
ng g @angular/material:material-dashboard --name=main-dash

Then use it inside the main-nav we have just created:<mat-sidenav-container class="sidenav-container">

  <mat-sidenav
#drawer
class="sidenav"
fixedInViewport="true"
[attr.role]="isHandset ? 'dialog' : 'navigation'"
[mode]="(isHandset | async)!.matches ? 'over' : 'side'"
[opened]="!(isHandset | async)!.matches">
<mat-toolbar color="primary">Menu</mat-toolbar>
<mat-nav-list>
<a mat-list-item href="#">Link 1</a>
<a mat-list-item href="#">Link 2</a>
<a mat-list-item href="#">Link 3</a>
</mat-nav-list>
</mat-sidenav>
<mat-sidenav-content>
<mat-toolbar color="primary">
<button
type="button"
aria-label="Toggle sidenav"
mat-icon-button
(click)="drawer.toggle()"
*ngIf="(isHandset | async)!.matches">
<mat-icon aria-label="Side nav toggle icon">menu</mat-icon>
</button>
<span>Application Title</span>
</mat-toolbar> <main-dash></main-dash> <!-- added --> </mat-sidenav-content>
</mat-sidenav-container>

最新文章

  1. WPF入门:XAML
  2. 服务器CGI运行机制
  3. Camera
  4. ML的灌水现象
  5. UOJ#61. 【UR #5】怎样更有力气
  6. jquery阻止冒泡事件:$(&#39;span&#39;).bind(&quot;click&quot;,function(event){event.stopPropagation();})(有用源)
  7. hduTHE MATRIX PROBLEM(差分约束)
  8. Linux学习之fsck命令
  9. 使用javassist运行时动态重新加载java类及其他替换选择
  10. switch 循环中的case理解
  11. leetcode之Find All Numbers Disappeared in an Array
  12. [POJ2823]Sliding Window 滑动窗口(单调队列)
  13. 将大数组里面的小数组平行展开的实现(Making a flat list out of list of lists in Python)
  14. PHP系统编程--PHP进程信号处理(转)
  15. ASP.NET动态引用样式表(css)和脚本(js)文件
  16. 青岛大学开源OJ平台搭建
  17. 一步一步掌握线程机制(六)---Atomic变量和Thread局部变量
  18. [转]为Kindeditor控件添加图片自动上传功能
  19. activemq消息重发机制[转]
  20. 【python常见面试题】之python 中对list去重的多种方法

热门文章

  1. Organize Your Train part II(hash)
  2. Element-UI 笔记
  3. Cracking the Coding Interview 8.7
  4. 禁止tomcat扫描jar包的tld文件
  5. 【转】SQL SERVER 主体,已同步
  6. 在PL/SQL中使用带参数的游标
  7. Android开发笔记(12)——ListView &amp; Adapter
  8. Android 打开设置界面或者WiFi连接界面
  9. index seek和index scan 提高sql 效率
  10. hibernate_07_单表操作_增删改操作