我试图在悬停/点击某个图标、按钮时创建下拉菜单,但什么都没有发生

这是我的Home PageComponent,我try 了普通和查看子项的方法,但仍然不起作用

HTML

<button mat-icon-button [matMenuTriggerFor]="clickHoverMenu" 
    #clickHoverMenuTrigger="matMenuTrigger" (mouseover)="openOnMouseOver()">
    <mat-icon>notifications</mat-icon>
  </button>
  
  <mat-menu #clickHoverMenu="matMenu">
    <button mat-menu-item>New items</button>
    <button mat-menu-item>New items</button>
    <button mat-menu-item>New items</button>

  </mat-menu>

Typescript

import { Component,ViewChild } from '@angular/core';

import { CommonModule } from '@angular/common';
import { MatMenuModule } from '@angular/material/menu';
import { MatIconModule } from '@angular/material/icon';
import { MatInputModule } from '@angular/material/input';
import { MatButtonModule } from '@angular/material/button';
import { MatMenuTrigger } from '@angular/material/menu';

@Component({
  selector: 'app-homepage',
  standalone: true,
  imports: [
    CommonModule,
    MatMenuModule,
    MatIconModule,
    MatInputModule,
    MatButtonModule,
    MatMenuTrigger,
    ],
  templateUrl: './homepage.component.HTML',
  styleUrl: './homepage.component.css'
})
export class HomepageComponent {
  @ViewChild('clickHoverMenuTrigger') clickHoverMenuTrigger!: MatMenuTrigger;

  openOnMouseOver() {
    this.clickHoverMenuTrigger.openMenu();
  }
}

这是我的app.Component.ts文件

import { Component } from '@angular/core';

import {HomepageComponent} from './homepage/homepage.component';


@Component({
  selector: 'app-root',
  standalone: true,
  imports: [HomepageComponent],
  templateUrl: './app.component.HTML',
  styleUrl: './app.component.css'
})
export class AppComponent {
  title = 'project';
}

and app.component.HTML

<app-homepage></app-homepage>

当我try 在Home PageComponent或appComponent中添加browserModule、browserAnimationsModule、noopAnimationsMoudle时,它显示以下错误


import { Component } from '@angular/core';

import {HomepageComponent} from './homepage/homepage.component';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
@Component({
  selector: 'app-root',
  standalone: true,
  imports: [HomepageComponent,BrowserModule, BrowserAnimationsModule],
  templateUrl: './app.component.HTML',
  styleUrl: './app.component.css'
})
export class AppComponent {
  title = 'project';
}
NG05100: Providers from the `BrowserModule` have already been loaded. If you need access to common directives such as NgIf and NgFor, import the `CommonModule` instead.
    at _BrowserModule (c:/Users/MyPC/ngocmai/node_modules/@angular/platform-browser/fesm2022/platform-browser.mjs:1258:13)
    at Object.BrowserModule_Factory (c:/Users/MyPC/ngocmai/node_modules/@angular/platform-browser/fesm2022/platform-browser.mjs:1282:14)
    at Object.factory (c:/Users/MyPC/ngocmai/node_modules/@angular/core/fesm2022/core.mjs:5338:38)
    at eval (c:/Users/MyPC/ngocmai/node_modules/@angular/core/fesm2022/core.mjs:5239:43)
    at runInInjectorProfilerContext (c:/Users/MyPC/ngocmai/node_modules/@angular/core/fesm2022/core.mjs:3644:9)
    at R3Injector.hydrate (c:/Users/MyPC/ngocmai/node_modules/@angular/core/fesm2022/core.mjs:5238:17)
    at R3Injector.get (c:/Users/MyPC/ngocmai/node_modules/@angular/core/fesm2022/core.mjs:5106:33)
    at injectInjectorOnly (c:/Users/MyPC/ngocmai/node_modules/@angular/core/fesm2022/core.mjs:3831:40)
    at ɵɵinject (c:/Users/MyPC/ngocmai/node_modules/@angular/core/fesm2022/core.mjs:3837:42)
    at useValue (c:/Users/MyPC/ngocmai/node_modules/@angular/core/fesm2022/core.mjs:4880:73
Click outside, press Esc key, or fix the code to dismiss.

以下是我的应用程序版本

Angular CLI: 17.2.2
Node: 18.13.0      
Package Manager: npm 9.4.0
OS: win32 x64

Angular: 17.2.3
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, platform-server
... router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1702.2
@angular-devkit/build-angular   17.2.2
@angular-devkit/core            17.2.2
@angular-devkit/schematics      17.2.2
@angular/cdk                    17.2.1
@angular/cli                    17.2.2
@angular/material               17.2.1
@angular/ssr                    17.2.2
@schematics/angular             17.2.2
rxjs                            7.8.1
Typescript                       5.2.2
zone.js                         0.14.4

推荐答案

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

bootstrapApplication(AppComponent, {
providers: [
  provideAnimations()
]})

将此代码添加到main.ts文件中,因为我缺少用于打开动画的配置内容

Angular相关问答推荐

自动完成搜索过滤器不适用于Angular 中动态添加的输入字段

将Angular 17中的http服务与独立组件一起使用

如果Angular 模块是独立的,为什么我不需要在App模块中使用RouterModule?

AG网格Angular 快捷菜单调用函数

截取提取后端S获取添加授权头的请求

PathMatch full始终连接到参数化路径,即使完整路径不匹配也是如此

元素上的Angular 管道链接不起作用

VS代码中带Angular 17的缩进新控制流

ngx-http-client 在 Angular 16 中已弃用

根据环境变量动态加载Angular templateUrl

使用Dragula时,ReactiveForm元素在拖动副本中显示不同的