Angular Material 注入 Angular 2 项目



向我的项目添加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';

最新更新