Pan*_*are 21 typescript angular-material2 angular
我有angular2应用程序,它使用@ angular2-material 2.0.0-alpha.8-2版本.一切正常.现在我决定将材料版本升级到最新版本,即2.0.0-alpha.9-3.我按照GETTING_STARTED中提到的步骤进行操作.之前我已经导入了以下单个模块:
@NgModule({
imports: [
BrowserModule,
FormsModule,
HttpModule,
RouterModule,
MdIconModule,
MdButtonModule,
MdCardModule,
MdCheckboxModule,
....
....
Run Code Online (Sandbox Code Playgroud)
但是2.0.0-alpha.9-3版本的更改日志说:
"角度材料已从@ angular2-material/...包更改为@ angular/material下的单个包.随着此更改,还有一个新的NgModule,MaterialModule,其中包含所有组件."
所以我删除了明确导入的材料模块并将其更改为:
@NgModule({
imports: [
BrowserModule,
FormsModule,
HttpModule,
RouterModule,
MaterialModule.forRoot(),
....
....
Run Code Online (Sandbox Code Playgroud)
在此更改后,我收到以下错误
'md-icon'不是已知元素:
我是否需要显式导入单个模块,或者如更改日志中所述,MaterialModule包含所有组件,我不应该显式导入单个模块?如果我不应该导入单个模块那么可能是错误的来源?
Mac*_*der 20
该export部分怎么样?你有提供MaterialModule吗?
@NgModule({
imports: [
MaterialModule.forRoot()
],
exports: [
MaterialModule
]
})
Run Code Online (Sandbox Code Playgroud)
请记住在index.html中提供图标样式:
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)
之后,您应该可以在视图中使用图标:
<md-icon>delete</md-icon>
Run Code Online (Sandbox Code Playgroud)
小智 11
如果您加载这样的子模块:
{path: 'childModule', loadChildren: 'app/child/child.module#childModule'}
Run Code Online (Sandbox Code Playgroud)
然后在子模块中,您必须再次导入MaterialModule.例如
@NgModule({
imports: [
sharedModules,
childRouting,
MaterialModule.forRoot()
],
declarations: [
],
providers: []
})
export class childModule {
}
Run Code Online (Sandbox Code Playgroud)
您需要在app.module.ts中导入MatIconModule并将其添加到同一文件中的imports数组中.
像这样例如:
import { BrowserModule } from "@angular/platform-browser";
import { NgModule } from "@angular/core";
import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
import { TreeModule } from "angular-tree-component";
import { HttpClientModule } from "@angular/common/http";
import { MatButtonModule } from "@angular/material/button";
import { MatIconModule } from "@angular/material/icon"; // <----- Here
import { EclassService } from "./services/eclass.service";
import { AppComponent } from "./app.component";
import { FormsModule } from "@angular/forms";
import { AsyncTreeComponent } from "./components/async-tree/async-tree.component";
@NgModule({
declarations: [
AppComponent,
AsyncTreeComponent
],
imports: [
BrowserModule, BrowserAnimationsModule, FormsModule, TreeModule, HttpClientModule, MatButtonModule, MatIconModule // <--- HERE
],
providers: [EclassService],
bootstrap: [AppComponent]
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
47306 次 |
| 最近记录: |