You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 5 keyup事件报错:_co.onKey is not a function求助

解决Angular 5中keyup事件报错_co.onKey is not a function的问题

嘿,我看到你遇到的这个报错了——ERROR TypeError: _co.onKey is not a function,但有意思的是你贴出来的代码里明明用的是fireEvent方法,也正确绑定到了input的keyup事件上。那大概率是下面这几个原因之一,你可以逐一排查:

  • 清理旧缓存:Angular在开发模式下偶尔会缓存旧的HTML模板内容,如果你之前曾经用过onKey这个方法名后来改成了fireEvent,浏览器可能还在加载旧模板。试试按Ctrl+Shift+R强制刷新页面,或者重启你的Angular开发服务器(停止ng serve后重新启动),确保最新的模板代码被加载。
  • 检查模板的其他元素:仔细检查你的sandbox.component.html文件,看看有没有其他元素(比如另一个input、textarea)不小心绑定了(keyup)="onKey($event)",但你在组件类里并没有定义onKey方法。这种细节很容易被忽略,尤其是模板内容较多的时候。
  • 确认组件与模板的关联正确性:虽然你贴的代码里@Component装饰器的templateUrl指向了正确的文件,但还是可以核对一下路径拼写有没有错误,或者是不是不小心把模板内容写到了其他文件里。

如果以上排查都没解决问题,你可以尝试把模板改成内联形式来测试,排除模板文件加载的问题:

import { Component } from "@angular/core";
@Component({
  selector: "sandbox",
  // 改用内联模板
  template: `<input (keyup)="fireEvent($event)">`,
  styleUrls: ["./sandbox.component.css"]
})
export class SandboxComponent {
  fireEvent(e){
    console.log(e.type);
  }
}

这样如果能正常运行,就说明之前的模板文件可能存在加载或者缓存的问题,再针对性解决即可。

内容的提问来源于stack exchange,提问作者user6665922

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:42:10