- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
每次单击 Modal Button
时,都会出现以下错误。
UserProfileDialog 是我的对话框组件,
Error: StaticInjectorError(AppModule)[UserProfileDialog -> InjectionToken MatDialogData]: StaticInjectorError(Platform: core)[UserProfileDialog -> InjectionToken MatDialogData]: NullInjectorError: No provider for InjectionToken MatDialogData! at NullInjector.push../node_modules/@angular/
我在这里尝试了所有相关的解决方案,但没有一个能奏效。
dashboard.component.ts
这是我有一个列出所有用户的表的地方,单击一行上的按钮它应该显示该用户的完整个人资料
viewUserProfile(userId: string){
const dialogRef = this.dialog.open(UserProfileDialog);
dialogRef.afterClosed().subscribe(result => {
console.log(`Dialog result: ${result}`);
});
}
@Component({
selector: 'user-profile-dialog',
templateUrl: './user-profile.component.html',
// styleUrls: ['./dashboard.component.scss']
})
export class UserProfileDialog {
constructor(
public dialogRef: MatDialogRef<UserProfileDialog>,
@Inject({'data':'MAT_DIALOG_DATA'}) public data: any) {}
onNoClick(): void {
this.dialogRef.close();
}
}
app.module.ts
import { FileSelectDirective } from 'ng2-file-upload';
import { BsDropdownModule } from 'ngx-bootstrap/dropdown';
import { HttpClientModule } from '@angular/common/http';
import { NgModule } from '@angular/core';
import { ReactiveFormsModule } from '@angular/forms';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
// import { NgbModalModule } from '@ng-bootstrap/ng-bootstrap';
import { AuthGuard } from './_services/guard/auth.guard';
import { appRouteComponents, AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { UserProfileDialog } from './dashboard/dashboard.component';
import { MaterialDesignModule } from './material';
import {
DocumentUploaderComponent
} from './register/document-uploader/document-uploader.component';
import { MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';
/**
* Application components pages
*/
@NgModule({
declarations: [
AppComponent,
appRouteComponents,
DocumentUploaderComponent,
UserProfileDialog,
FileSelectDirective
],
imports: [
BrowserModule,
AppRoutingModule,
HttpClientModule,
BrowserAnimationsModule,
MaterialDesignModule,
ReactiveFormsModule,
BsDropdownModule.forRoot(),
// MatDialogModule
],
entryComponents: [
UserProfileDialog
],
providers: [AuthGuard,
{provide: MAT_DIALOG_DEFAULT_OPTIONS, useValue: {hasBackdrop: false}}
],
bootstrap: [AppComponent]
})
export class AppModule { }
最佳答案
在 app.module 中(或任何你导入 Material 模块的地方)添加 MAT_DIALOG_DATA 到你从@angular/material 导入
import { MAT_DIALOG_DATA } from '@angular/material'
将其添加到您的 app.module 提供者
@NgModule({
providers: [ { provide: MAT_DIALOG_DATA, useValue: [] } ]
})
关于当我尝试打开 Angular Material 对话框时出现 Angular7 Modal StaticInjectorError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55497285/
我才刚刚开始学习如何使用 Angular 2 和 Ionic 3.20.0,但现在面临挑战。我正尝试在我的主页中显示产品图片,但该应用程序抛出此错误 ERROR Error: Uncaught (in
所以我正在尝试使用 DatePicker ,但是我得到了一个 StaticInjectorError 这是我尝试过的: import {Component} from '@angular/core';
我收到此错误,如下面的屏幕截图所示。 我在这里研究了几个类似的问题。最常见的建议是“将您的服务添加到您的应用模块的提供程序数组”。当我使用 Angular 元素编写 Web 组件时,我不会主动使用默认
我已经搜索了很多有关此错误的信息,但没有任何有用的信息,这种错误通常有角度地告诉您缺少提供程序的对象是什么,但是这次它给出了 StaticInjectorError(AppModule)[[objec
当我在 Angular 中使用表格元素时,有时会在浏览器的控制台中显示此错误 有什么问题? 我该如何解决? Angular HTML: name
你好,我收到这样的错误,这是什么原因? StaticInjectorError[Http]: StaticInjectorError[Http]: NullInjectorError: 没有 Http
运行 ng 测试 时完全错误: Error: StaticInjectorError(DynamicTestModule)[NotificationsComponent AuthService]:
使用 ASP.NET Core API 应用程序登录到 Angular 应用程序后,出现以下错误 Error: Uncaught (in promise): Error: StaticInjector
angular cli 创建的项目 Angular CLI: 1.7.2 Node: 6.11.4 OS: win32 x64 Angular: 5.2.7 ... animations, commo
从 Angular 5 迁移到 6 后,我遇到了静态注入(inject)器的问题。错误是: ERROR Error: StaticInjectorError(AppModule)[StorageSer
我最近将我的项目从 Angular5 更新到 Angular6。 该项目正在成功构建,但我在浏览器控制台中收到以下错误: Unhandled Promise rejection: StaticInje
我尝试在 Angular 中使用“providedin”功能,但收到错误“StaticInjectorError(AppModule)[DashboardComponent -> DashboardS
当我在浏览器中启动我的 Angular 5 页面时,我的浏览器控制台出现以下错误。 ERROR Error: StaticInjectorError(AppModule)[AppComponent -
我试图从我的 api 中提取数据,并将其填充到我的 ionic 应用程序中,但是当我进入应该填充数据的页面时它崩溃了。下面是我的两个 .ts 文件: import { Component } from
我已经加了RouterTestingModule到我的单元测试导入。但它仍然抛出以下错误。 唯一的区别是知道我的路由页面与规范不同。 我附上了我的代码以供引用。 我需要改变什么?或者我如何使用我的路由
我在我的 Ionic 4 应用程序中使用插件 '@ionic-native/bluetooth-serial/ngx' 与热敏打印机进行通信。如果我使用 android 7.1.1 为 android
我正在使用一个组件作为通过路由到达的常规组件,但我希望它在使用注入(inject)组件时也将其用作模式对话框的“目标”: export class Component1 implements OnIn
我正在构建一个新的 Angular (v6.0.1) 应用程序,并希望开始连接它以通过服务处理数据。我创建了一个新的提供程序,如下所示: @Injectable({ providedIn: '
我正尝试按照此链接中的说明向我的 Angular 应用程序添加分页: Go to "Content switching" 我这样做了: 在 app.module.ts 中: import { Pagi
我正在尝试手动注入(inject)HttpClientModule,它在 外部独立运行(可能是!)在使用静态注入(inject)器之前,我使用的是反射注入(inject)器并且代码工作正常,但现在反射
我是一名优秀的程序员,十分优秀!