gpt4 book ai didi

angular - MatDialog 不显示

转载 作者:行者123 更新时间:2023-12-04 12:11:49 29 4
gpt4 key购买 nike

我想向我的应用程序添加一个对话框,但由于某种原因它没有显示。

对话框组件:

import { Component, OnInit } from '@angular/core';
import {MatDialogRef} from "@angular/material";

@Component({
selector: 'app-connect-to-player-dialog',
templateUrl: './connect-to-player-dialog.component.html',
styleUrls: ['./connect-to-player-dialog.component.css']
})
export class ConnectToPlayerDialogComponent implements OnInit {

constructor() { }

ngOnInit() {
}

}

使用的方法:

connectToPlayer() {
const dialogConfig = new MatDialogConfig();
dialogConfig.disableClose = true;
dialogConfig.autoFocus = true;

this.dialog.open(ConnectToPlayerDialogComponent, dialogConfig);
}

我还将对话框添加到 entryComponents :

entryComponents: [ConnectToPlayerDialogComponent]

我不知道可能会丢失什么......感谢您的帮助!

完整代码:

import {Component, OnInit} from '@angular/core';
import {PLAYERS} from '../mock-players';
import {Router} from "@angular/router";
import {AlertService, AuthenticationService} from "../_services";
import {HttpClient} from "@angular/common/http";
import {AuthGuard} from "../_guards";
import {MatDialog, MatDialogConfig, MatDialogRef} from '@angular/material';
import {ConnectToPlayerDialogComponent} from "../connect-to-player-dialog/connect-to-player-dialog.component";

@Component({
selector: 'app-profile',
templateUrl: './profile.component.html',
styleUrls: ['./profile.component.css']
})
export class ProfileComponent implements OnInit {

players = PLAYERS;
c: MatDialogRef<ConnectToPlayerDialogComponent>;

constructor(private autheGuard: AuthGuard,
private authenticationService: AuthenticationService,
private alertService: AlertService,
private http: HttpClient,
private router: Router,
private dialog: MatDialog) {
}

ngOnInit() {
this.loadPlayers();
this.connectToPlayer();
}

loadPlayers() {

this.authenticationService.loadPlayersForPlayer(this.autheGuard.getUser().identityStr)
.subscribe(
data => {
this.players = data;
this.players.unshift(this.autheGuard.getUser());
//if (data.identityStr) {
//localStorage.setItem('currentUser', JSON.stringify(data));
//PdHeaderComponent.updateUserStatus.next(true);
//this.router.navigate(['']);
// } else {

//}
// this.alertService.success('Successfully logged in');
},
error => {
let errormsg: string = 'Unexspected Error occured.';
if (error.code == 401) {
errormsg = 'Wrong Playername or Password.';
}
this.alertService.error(errormsg);
});
}

connectToPlayer() {
const dialogConfig = new MatDialogConfig();
dialogConfig.disableClose = true;
dialogConfig.autoFocus = true;

this.c = this.dialog.open(ConnectToPlayerDialogComponent, {
width: '400px'});
}

}

模板:

<p>
connect-to-player-dialog works!
</p>

异常(exception):
ERROR Error: Found the synthetic listener @slideDialog.start. Please include either "BrowserAnimationsModule" or "NoopAnimationsModule" in your application.
at checkNoSyntheticProp (platform-browser.js:2991)
at DefaultDomRenderer2.listen (platform-browser.js:2975)
at DebugRenderer2.listen (core.js:15124)
at listenToElementOutputs (core.js:10307)
at createViewNodes (core.js:13416)
at createRootView (core.js:13339)
at callWithDebugContext (core.js:14740)
at Object.debugCreateRootView [as createRootView] (core.js:14041)
at ComponentFactory_.create (core.js:10960)
at ComponentFactoryBoundToModule.create (core.js:3922)

最佳答案

正如在聊天中提到的:缺少 BrowserAnimationsModule 的导入

import {BrowserAnimationsModule} from '@angular/platform-browser/animations';

@NgModule({
// ...
imports: [BrowserAnimationsModule],
// ...
})

关于angular - MatDialog 不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49414975/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com