Angular-17 事件监听器不工作 - 没有错误代码?

问题描述 投票:0回答:1

在我的主页上,我有一个链接路由到带有登录按钮的登录页面,但单击它后,不会运行任何功能,也不会显示错误代码。我确保该功能具有相同的名称,并且检查了脚本文件确保没有任何重叠。

详情-

  • 角度17.3.5
  • 使用引导样式和脚本
**Button in html -** 
<button class="btn btn-primary w-100 py-2" type="button"  (click)="onLogin()">Sign in</button>

**compnent.ts** -
@Component({
  selector: 'app-login-page',
  standalone: true,
  imports: [FormsModule],
  templateUrl: './login-page.component.html',
  styleUrl: './login-page.component.css'
})

export class LoginPageComponent {

  loginObj: any ={
    'username': '',
    'password': ''
  }

  constructor(private router: Router) { }


  onLogin(){
    console.log('Login Clicked');
    alert('Login Clicked');
  } 
}

我尝试了不同的事件侦听器,并检查事件侦听是否在其他页面上起作用(它不起作用),以及在控制台中查看是否出现与按钮相关的任何错误。

Angular 在使用 ngserve 时不会弹出任何错误。控制台也没有显示我认为相关的错误。

我真的需要帮助:(我不明白 如果需要更多代码片段,我将提供

我确实在四月份看到过一篇类似的帖子谈论这个问题,但除了调试之外没有给出任何错误的答案:(

javascript angular typescript event-handling
1个回答
0
投票

没关系,伙计们。我发现了这个问题。我不确定它是如何工作的,但这是我解决问题的方法。基本上,在我的应用程序外部的主 index.html 文件中,我有 HTML 的基本样板,然后是应用程序根目录。好吧,事实证明我在 app.component.html 中也有 HTML 样板,导致了某种冲突。

所以,之前,我有两次 HTML 样板:一次在我的主 HTML 文件中,然后再次在我的 app.component.html 中,如下所示。

之前-

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body class="main_body">
  
  <app-header></app-header>

  <router-outlet></router-outlet>
  

</body>
</html>

之后-

<app-header></app-header>
<router-outlet></router-outlet>
  

这允许所有事件监听工作

答案:当我在主 index.html 中已经有样板文件时,我在 app.component.html 中有样板文件,从而产生了冲突。

© www.soinside.com 2019 - 2024. All rights reserved.