小编Gre*_*ake的帖子

Angular:类和接口

我今天在这里,是因为我有一个问题,如标题所述,关于Angular中的类和接口

从我的角度来看,我理解:

Typescript中使用了接口来进行类型检查,这些接口一直存在,直到进行编译并在生产中消失为止。接口也不能用于实例化

来自ES6的也用于类型检查,但它们会在编译后保留并在生产中生成代码。同样,它们用于实例化。

因此,基本上,如果我们在生产中不需要它们,而仅需要类型检查,则Interface是有用的。相反,如果我们在生产中需要它们(特别是用于实例化),则可以在这里使用Class。

我是正确的,还是我错过了有关类和接口的知识?

class typescript

9
推荐指数
2
解决办法
6261
查看次数

Angular 4 mat-form-field,带有mat-select

所以,我在mat-form-field中使用mat-select时遇到了问题.使用mat-form-field和mat-input不是问题,我相当确定我的导入也是正确的,但是在尝试使用mat-select时我收到以下错误:

错误:md-form-field必须包含MdFormFieldControl.您是否忘记将mdInput添加到本机...

我的HTML代码如下:

<mat-form-field class="full-width">
  <mat-select name="sampleType" formControlName="sampleTypeCtrl" 
   placeholder="Sample Type" required>
     <mat-option *ngFor="let sample of samples" [value]="sample.value">
       {{ sample.viewValue }}
     </mat-option>
  </mat-select>
</mat-form-field>
Run Code Online (Sandbox Code Playgroud)

我的视图模块包含此组件并导入到我的主app.module.ts文件中,如下所示:

...
import { MatFormFieldModule, MatInputModule, MatSelectModule } from 
   '@angular/material';
...

@NgModule({
  imports: [
    ...
    MatInputModule,
    MatFormFieldModule,
    MatSelectModule,
    ...
  ],
})
export class ViewModule {}
Run Code Online (Sandbox Code Playgroud)

我的主app.module.ts文件包含ViewModule和NoConflictStyleCompatibilityMode导入,如下所示:

...
import { ViewModule } from './view/view.module';
import { NoConflictStyleCompatibilityMode } from '@angular/material';
...
@NgModule({
  ...
  imports: [
    ViewModule,
    NoConflictStyleCompatibilityMode
  ],
  ...
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)

当我从mat-select周围移除mat-form-field时,错误消失了,但是我对mat-input(使用mat-form-field)和mat-select的样式不一致.我正在导入MatSelectModule和MatFormFieldModule,但我收到此错误.我还更新了我的npm角度材料2,以便它具有最新和最好的,但仍然没有.我在俯瞰什么?我已经看到在最近的stackoverflows中解决了这种类型的问题,但我已经尝试过的每个解决方案都没有运气.

mat-select不正常工作
mat-form-field必须包含MatFormFieldControl

angular-material2 angular angular4-forms

6
推荐指数
2
解决办法
3万
查看次数

更改角度材质的默认扩展面板箭头颜色

我有一个角度扩展面板,如下所示.如何将下面箭头的颜色更改为白色?

我的代码(HTML):

<md-expansion-panel>
  <md-expansion-panel-header>
    <md-panel-title>
      Personal data
    </md-panel-title>
    <md-panel-description>
      Type your name and age
    </md-panel-description>
  </md-expansion-panel-header>

  <md-form-field>
    <input mdInput placeholder="First name">
  </md-form-field>

  <md-form-field>
    <input mdInput placeholder="Age">
  </md-form-field>
</md-expansion-panel>
Run Code Online (Sandbox Code Playgroud)

我的代码(TS):

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

/**
 * @title Basic expansion panel
 */
@Component({
  selector: 'expansion-overview-example',
  templateUrl: 'expansion-overview-example.html',
})
export class ExpansionOverviewExample {}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

angular-material2 angular

5
推荐指数
3
解决办法
1万
查看次数