向我的项目添加Angular Material
时遇到问题,该项目建立在Angular 2
上。编译项目时,返回此错误:
环境上下文中不允许使用初始值设定项
像这样添加Angular Material
:
import {MaterialModule } from '@angular/material'
然后在imports
MaterialModule.forRoot(),
安装者
npm install --save @angular/material
还安装了 hammerjs 并添加到 'angular-cli.json' 中
"../node_modules/hammerjs/hammer.min.js"
这是我的全部app.module.ts
import {NgModule, NgModuleFactoryLoader, SystemJsNgModuleLoader} from
'@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import 'hammerjs';
//ui-router
import {UIRouterModule, UIView} from 'ui-router-ng2';
import {APP_STATES} from './app.states';
import {routerConfigFn} from './router.config';
//angular material
import {MdButtonModule, MdCheckboxModule} from '@angular/material';
import { AppComponent } from './app.component';
import { UserComponent } from './user/user.component';
import { DashboardComponent } from './dashboard/dashboard.component';
@NgModule({
declarations: [
AppComponent,
UserComponent,
DashboardComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
MdButtonModule,
MdCheckboxModule,
UIRouterModule.forRoot({
states: APP_STATES,
useHash: true,
otherwise: {state: 'public'},
config: routerConfigFn,
}),
],
providers: [{provide: NgModuleFactoryLoader, useClass:
SystemJsNgModuleLoader}],
bootstrap: [UIView]
})
export class AppModule { }
最新的beta3有重大变化(假设你正在使用它(。它可能与您遇到但不确定的错误有关。您不再导入材质模块,而是单独导入每个组件
https://github.com/angular/material2/blob/master/guides/getting-started.md
import {MdButtonModule, MdCheckboxModule} from '@angular/material';
@NgModule({
...
imports: [MdButtonModule, MdCheckboxModule],
...
})
export class PizzaPartyAppModule { }
此外,无需通过 angular/cli 导入 hammerjs,只需放入 app.modules.ts 作为导入
import 'hammerjs';