angular - 点击事件不适用于角度通用应用程序
问题描述
我有一个具有这样的功能和点击事件的组件:
header.component.html:
<button (click)="menu()"
class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out"
aria-label="Main menu"
aria-expanded="false">
header.component.ts:
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
@Component({
selector: 'app-header',
templateUrl: './header.component.html',
styleUrls: ['./header.component.scss']
})
export class HeaderComponent implements OnInit {
url: string;
isHome: boolean;
showDropdown = false;
menuItems = [
{name: 'About Us', route: 'about-us', isOuter: true},
{name: 'Technology', route: 'features', isOuter: false},
{name: 'Mission', route: 'headline', isOuter: false},
{name: 'Sign Up', route: 'contact', isOuter: false},
];
constructor(private router: Router) {}
ngOnInit(): void {
this.isHome = this.router.url === '/';
const url = 'url';
this.router.events.subscribe((event) => {
this.isHome = event[url] && (event[url] === '/' || event[url].includes('/#'));
this.showDropdown = false;
});
}
/** Mobile */
menu(): any {
this.showDropdown = ! this.showDropdown;
}
getMenuClass(): string {
return this.showDropdown ? 'block' : 'hidden';
}
getMenuOpenClass(): string {
return this.showDropdown ? 'block' : 'hidden';
}
getMenuClosedClass(): string {
return this.showDropdown ? 'hidden' : 'block';
}
}
我刚刚安装了用于服务器端渲染的 Angular Universal,由于某种原因,单击事件无法正常工作,并且该功能没有被触发我的showDropdown
标志工作正常,我将其硬编码为true
并且它工作正常。
解决方案
推荐阅读
- c# - Linq c#查询加入两个多对多关系
- google-cloud-platform - 如何将 OAuth 的 100 个用户上限提高到经过验证的应用程序的 Google API
- sql - Postgres - 查询需要很长时间
- android - EditText/TextView 到 ListView
- java - 如何使用 JAVA 客户端获取 kubenetes 集群的内存 CPU 等指标
- mysql - 参数化 SQL 函数在特殊字符处截断变量
- python - 如何使用 Python Selenium 使用多进程池
- excel - 如何使用功能区按钮以只读方式打开外部 Excel 宏文件?
- google-apps-script - 使用 AppsScript 的 Dropbox API 中的 delete_batch 方法
- regex - sed -> 替换字符串中的固定文本和括号