Angular Material 7 教程

Angular Material 7 教程

Angular Material 是一个开源、完整的、优美的 Material Design 风格的 UI 组件库,由 Angular 团队维护。它提供了大量的组件,包括按钮、卡片、导航栏、表格、输入框等等。使用 Angular Material 可以让我们的应用程序更加美观和功能强大。

安装

在使用 Angular Material 之前,需要先安装。可以使用 npm 安装,在命令行输入以下命令:

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

安装完成后,需要在 app.module.ts 中引入它们:

import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { MatInputModule } from '@angular/material/input';
import { MatCardModule } from '@angular/material/card';
import { MatButtonModule } from '@angular/material/button';

@NgModule({
  declarations: [AppComponent],
  imports: [
    BrowserAnimationsModule,
    FormsModule,
    MatInputModule,
    MatCardModule,
    MatButtonModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule {}

在这个例子中,我们引入了三个组件:MatInputModule,MatCardModule 和 MatButtonModule。这些组件都是 Material Design 风格的。

使用

我们来创建一个简单的登录页面作为示例。首先在 app.component.html 文件中添加一些 HTML 代码:

<mat-card>
  <mat-card-header>
    <mat-card-title>
      Login
    </mat-card-title>
  </mat-card-header>
  <mat-card-content>
    <mat-form-field>
      <input matInput placeholder="Username" [(ngModel)]="username">
    </mat-form-field>
    <mat-form-field>
      <input matInput placeholder="Password" [(ngModel)]="password" type="password">
    </mat-form-field>
  </mat-card-content>
  <mat-card-actions>
    <button mat-button (click)="login()">Login</button>
  </mat-card-actions>
</mat-card>

这段代码中,我们使用了 mat-card 组件作为容器来放置登录表单。mat-card-header 组件用来放置标题,mat-card-content 组件用来放置输入框,mat-form-field 组件包裹着输入框,mat-card-actions 组件放置登录按钮。

在 app.component.ts 文件中,我们需要定义一些变量和方法:

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

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  username: string;
  password: string;

  login() {
    console.log(`Username: {this.username}, Password:{this.password}`);
  }
}

login 方法输出用户名和密码到控制台。

自定义主题

Angular Material 7 允许我们自定义主题,可以修改颜色、字体等属性。在 angular.json 文件中,可以找到 styles 字段,把需要的颜色配置写在 styles 中,例如:

"styles": [
  "src/styles.scss",
  {
    "input-bg": "#eee",
    "primary-color": "#4caf50",
    "foreground-color": "#333"
  }
]

在样式表 styles.scss 中,我们可以使用上述颜色配置:

@import '~@angular/material/theming';
@include mat-core();

demo-app-accent: mat-palette(mat-blue, 700, 900, A100);
demo-app-theme: mat-light-theme((
  color: (
    primary:primary-color,
    accent: demo-app-accent,
    warn:mat-red,
  )
));
@include angular-material-theme(demo-app-theme);

mat-form-field {
  background-color:input-bg;
  color: $foreground-color;
}

这段样式表使用 primary-color、input-bg 和 $foreground-color 来定义颜色。其中,mat-palette 函数用来定义主题颜色,mat-light-theme 函数用来定义整个主题的色调。

总结

Angular Material 7 是一个功能强大的 UI 组件库,它提供了丰富的组件和灵活的自定义主题功能。使用 Angular Material 可以方便地为我们的应用程序提供美观和易于使用的用户界面。如果你还没有使用过 Angular Material,不妨试一试。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程