首页 > 解决方案 > 未捕获的 ReferenceError:SayHi 未在 HTMLInputElement.onclick 中定义((索引):1)

问题描述

有没有办法将现有html/javascript页面与 Angular 一起使用?

我有几个嵌入了 JavaScript 函数的 html 页面,根据需要的页面,我想在 Angular 组件中动态呈现该页面。

我创建了一个“动态页面”组件,我dynamicpage.component.html只需要一个标签

<div [innerHtml]="templateHtml | sanitizeHtml"></div> 

dynamicpage.component.ts会将templateHtml值设置为类似

<html>
<script type="text/javascript">
function SayHi() {
  alert("Hi.");
}
</script>

<body>
  <input type="button" id="btn" onclick="SayHi();" value="Hi" />
</body>

</html> 

保存为 by 时,html 本身在浏览器中运行良好,*.htm但是当我通过 angular 运行它并单击我得到的按钮时

(index):1 Uncaught ReferenceError: SayHi 没有定义在 HTMLInputElement.onclick ((index):1)

“SayHi”功能是否必须驻留在dynamicpage.component.ts文件中?

我查看了几篇有类似问题的帖子,大多数都提出了范围问题,但他们的解决方案对我不起作用。

我是角度新手,所以我不确定我的方法是否可行。

提前感谢您提供的任何方向。

我添加了检查窗口的屏幕截图。

标签: javascripthtmlangular

解决方案


推荐阅读