引入MdDialog报错,Error: No provider for MdDialog!
来源:2-10 对话框的使用

lilisheng
2017-08-03
import { Component, OnInit } from '@angular/core';
import { MdDialog } from '@angular/material';
import { NewProjectComponent } from '../new-project/new-project.component';
@Component({
selector: 'app-project-list',
templateUrl: './project-list.component.html',
styleUrls: ['./project-list.component.scss']
})
export class ProjectListComponent implements OnInit {
projects = [
{
"name": "企业协作平台",
"desc": "这是一个企业内部项目",
"coverImg": "assets/img/covers/0.jpg"
},
{
"name": "企业协作平台",
"desc": "这是二个企业内部项目",
"coverImg": "assets/img/covers/1.jpg"
}
];
constructor(private dialog: MdDialog) { }
ngOnInit() {
}
openNewProjectDialog() {
// this.dialog.open(NewProjectComponent);
}
}
ERROR Error: Uncaught (in promise): Error: No provider for MdDialog!
Error: No provider for MdDialog!
at injectionError (core.es5.js:1169)
at noProviderError (core.es5.js:1207)
at ReflectiveInjector_.webpackJsonp../node_modules/@angular/core/@angular/core.es5.js.ReflectiveInjector_._throwOrNull (core.es5.js:2649)
at ReflectiveInjector_.webpackJsonp../node_modules/@angular/core/@angular/core.es5.js.ReflectiveInjector_._getByKeyDefault (core.es5.js:2688)
at ReflectiveInjector_.webpackJsonp../node_modules/@angular/core/@angular/core.es5.js.ReflectiveInjector_._getByKey (core.es5.js:2620)
at ReflectiveInjector_.webpackJsonp../node_modules/@angular/core/@angular/core.es5.js.ReflectiveInjector_.get (core.es5.js:2489)
at resolveNgModuleDep (core.es5.js:9473)
at NgModuleRef_.webpackJsonp../node_modules/@angular/core/@angular/core.es5.js.NgModuleRef_.get (core.es5.js:10555)
at resolveDep (core.es5.js:11058)
at createClass (core.es5.js:10911)
at injectionError (core.es5.js:1169)
at noProviderError (core.es5.js:1207)
at ReflectiveInjector_.webpackJsonp../node_modules/@angular/core/@angular/core.es5.js.ReflectiveInjector_._throwOrNull (core.es5.js:2649)
at ReflectiveInjector_.webpackJsonp../node_modules/@angular/core/@angular/core.es5.js.ReflectiveInjector_._getByKeyDefault (core.es5.js:2688)
at ReflectiveInjector_.webpackJsonp../node_modules/@angular/core/@angular/core.es5.js.ReflectiveInjector_._getByKey (core.es5.js:2620)
at ReflectiveInjector_.webpackJsonp../node_modules/@angular/core/@angular/core.es5.js.ReflectiveInjector_.get (core.es5.js:2489)
at resolveNgModuleDep (core.es5.js:9473)
at NgModuleRef_.webpackJsonp../node_modules/@angular/core/@angular/core.es5.js.NgModuleRef_.get (core.es5.js:10555)
at resolveDep (core.es5.js:11058)
at createClass (core.es5.js:10911)
at resolvePromise (zone.js:783)
at resolvePromise (zone.js:754)
at zone.js:831
at ZoneDelegate.webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:424)
at Object.onInvokeTask (core.es5.js:3881)
at ZoneDelegate.webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:423)
at Zone.webpackJsonp../node_modules/zone.js/dist/zone.js.Zone.runTask (zone.js:191)
at drainMicroTaskQueue (zone.js:595)
at <anonymous>
defaultErrorLogger @ core.es5.js:1020
webpackJsonp../node_modules/@angular/core/@angular/core.es5.js.ErrorHandler.handleError @ core.es5.js:1080
next @ core.es5.js:4502
schedulerFn @ core.es5.js:3635
webpackJsonp../node_modules/rxjs/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:238
webpackJsonp../node_modules/rxjs/Subscriber.js.SafeSubscriber.next @ Subscriber.js:185
webpackJsonp../node_modules/rxjs/Subscriber.js.Subscriber._next @ Subscriber.js:125
webpackJsonp../node_modules/rxjs/Subscriber.js.Subscriber.next @ Subscriber.js:89
webpackJsonp../node_modules/rxjs/Subject.js.Subject.next @ Subject.js:55
webpackJsonp../node_modules/@angular/core/@angular/core.es5.js.EventEmitter.emit @ core.es5.js:3621
onHandleError @ core.es5.js:3912
webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneDelegate.handleError @ zone.js:395
webpackJsonp../node_modules/zone.js/dist/zone.js.Zone.runGuarded @ zone.js:157
_loop_1 @ zone.js:666
api.microtaskDrainDone @ zone.js:675
drainMicroTaskQueue @ zone.js:603
3回答
-
你要导入 MdDialogModule 啊,在 SharedModule 中的 imports 和 exports 数组中分别列出 MdDialogModule,然后在 ProjectModule 中导入 SharedModule
412017-08-03 -
ronnychan
2020-02-12
我也遇到了同样的问题,在 SharedModule 中的 imports 和 exports 数组中分别列出 MdDialogModule就好了,视频好像真没写到...
10 -
dds813
2017-09-27
的确是这样,但是我看了好几遍视频,视乎都没有这里,还是我看的不仔细呢
00
Angular打造企业级协作平台,让你在Angular领域中出类拔萃
998 学习 · 536 问题
相似问题