MdCoreModule类型上不存在'forRoot'属性。

3

将我的Angular 2.0.0-rc.6应用程序与Angular Material 2.0.0-alpha.8-1升级后,我现在遇到了编译错误,例如:

Property 'forRoot' does not exist on type 'typeof MdCoreModule'.

接下来是AppModule

import { MdCoreModule } from '@angular2-material/core/core';
import { MdButtonModule } from '@angular2-material/button/button';
import { MdButtonToggleModule } from '@angular2-material/button-toggle/button-toggle';
import { MdCardModule } from '@angular2-material/card/card';
import { MdCheckboxModule } from '@angular2-material/checkbox/checkbox';
// ... additional imports

@NgModule({
  declarations: [
    AppComponent,
    // ... additional application-specific declarations
  ],
  imports: [
    BrowserModule,
    CommonModule,
    ReactiveFormsModule,
    HttpModule,
    JsonpModule,
    MdCoreModule.forRoot(),
    MdButtonModule.forRoot(),
    MdButtonToggleModule.forRoot(),
    MdCardModule.forRoot(),
    MdCheckboxModule.forRoot(),
    // ... additional imports
  ],
  providers : [
    Configuration,
    // ... additional application-specific providers
  ],
  entryComponents: [AppComponent],
  bootstrap: [AppComponent]
})
export class AppModule {    
}

这与更改日志中推荐的相同。你有什么想法,我错在哪里了吗?

  "dependencies": {
    "@angular/common": "2.0.0-rc.6",
    "@angular/compiler": "2.0.0-rc.6",
    "@angular/core": "2.0.0-rc.6",
    "@angular/forms": "2.0.0-rc.6",
    "@angular/http": "2.0.0-rc.6",
    "@angular/platform-browser": "2.0.0-rc.6",
    "@angular/platform-browser-dynamic": "2.0.0-rc.6",
    "@angular/router": "3.0.0-rc.2",
    "@angular2-material/button": "2.0.0-alpha.8-1",
    "@angular2-material/button-toggle": "2.0.0-alpha.8-1",
    "@angular2-material/card": "2.0.0-alpha.8-1",
    "@angular2-material/checkbox": "2.0.0-alpha.8-1",
    "@angular2-material/core": "2.0.0-alpha.8-1",
    "@angular2-material/grid-list": "2.0.0-alpha.8-1",
    "@angular2-material/icon": "2.0.0-alpha.8-1",
    "@angular2-material/input": "2.0.0-alpha.8-1",
    "@angular2-material/list": "2.0.0-alpha.8-1",
    "@angular2-material/menu": "2.0.0-alpha.8-1",
    "@angular2-material/progress-bar": "2.0.0-alpha.8-1",
    "@angular2-material/progress-circle": "2.0.0-alpha.8-1",
    "@angular2-material/radio": "2.0.0-alpha.8-1",
    "@angular2-material/sidenav": "2.0.0-alpha.8-1",
    "@angular2-material/slide-toggle": "2.0.0-alpha.8-1",
    "@angular2-material/slider": "2.0.0-alpha.8-1",
    "@angular2-material/tabs": "2.0.0-alpha.8-1",
    "@angular2-material/toolbar": "2.0.0-alpha.8-1",
    "@angular2-material/tooltip": "2.0.0-alpha.8-1",
    "core-js": "^2.4.0",
    "reflect-metadata": "0.1.8",
    "rxjs": "5.0.0-beta.11",
    "ts-helpers": "^1.1.1",
    "zone.js": "0.6.17"
  }

并且

  "devDependencies": {
    "@types/hammerjs": "2.0.32",
    "@types/jasmine": "^2.2.30",
    "angular-cli": "1.0.0-beta.11-webpack.8",
    "codelyzer": "0.0.26",
    "hammerjs": "2.0.8",
    "jasmine-core": "2.4.1",
    "jasmine-spec-reporter": "2.5.0",
    "karma": "0.13.22",
    "karma-chrome-launcher": "0.2.3",
    "karma-jasmine": "0.3.8",
    "karma-remap-istanbul": "^0.2.1",
    "protractor": "4.0.3",
    "reflect-metadata": "0.1.8",
    "string-replace-loader": "1.0.3",
    "ts-node": "1.2.1",
    "tslint": "3.13.0",
    "typescript": "2.0.0"
  }

环境:

angular-cli: 1.0.0-beta.11-webpack.8
node: 6.5.0
os: linux x64

我看到了对2.0.0-rc.5的引用? - Madhu Ranjan
你能否添加一下你的AppModule长什么样子,以及在导入MD模块时是如何操作的? - Madhu Ranjan
2个回答

2

在Angular 2.0.0和Angular Material 2.0.0-alpha.8-2中,导入现在按照文档所述正常工作:

import { MdButtonModule } from '@angular2-material/button';
//...
MdButtonModule.forRoot(),

请注意,从button/button更改为button

1

文档中虽然说要使用 forRoot(),而且适用于 2.0.0-alpha.8 ectoplasm-helicopter (2016-09-01),但我不确定是否在重新导出它们时需要使用它。我尝试过没有使用 forRoot(),并且它正常工作。

请查看这个 Plunker!

希望这有所帮助!!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接