从JavaScript函数调用TypeScript函数

时间:2018-04-11 18:38:14

标签: javascript angular typescript referenceerror

在文件app-component.html上有一个按钮:

<button type="button" onclick="confirmChanges()">Save Changes</button>

confirmChanges调用位于我的index.html文件中的javascript函数:

<script>
    function confirmChanges(){
      var optionSelected = confirm('Are you sure?');
      if(optionSelected == true){
        alert('Changes were applied sucessfully!');
        updateAddress();
      } else{
        alert('You discarded the changes!');
      }
    } 
  </script>

updateAddress()在我的app-component.ts文件中运行它。我想知道如何在不获取Uncaught ReferenceError的情况下从javascript函数调用typescript函数。谢谢。

2 个答案:

答案 0 :(得分:0)

是的,您可以,只要您的打字稿在Javascript中正确编译,并且您的功能在全局范围内导出。

但我必须说,以这么多方式做到这一点似乎是错误的。首先在全球范围内揭露某些东西绝不是一个好主意。其次,我不明白你为什么要在Angular应用程序中编写纯JavaScript脚本。

但是,从技术上讲,虽然我强烈反对,但可以做你想做的事情。

希望有所帮助

答案 1 :(得分:0)

认为你会在这里找到答案。

Uncaught ReferenceError: <function> is not defined at HTMLButtonElement.onclick

简短回答是您需要将其添加到全局范围。例如,将它添加到index.html,它应该触发。但我建议您将其添加到.ts文件并重写函数