Javascript 获取Angular 2 typescript中的模态元素
如何使用document.getElementById获取模态元素?我试图在我的主组件typescript文件中手动显示和隐藏模式via代码 我已经有了一个在按下按钮时工作的模式——现在我想在代码中出现某些条件时手动切换模式 我有:Javascript 获取Angular 2 typescript中的模态元素,javascript,twitter-bootstrap,angular,modal-dialog,Javascript,Twitter Bootstrap,Angular,Modal Dialog,如何使用document.getElementById获取模态元素?我试图在我的主组件typescript文件中手动显示和隐藏模式via代码 我已经有了一个在按下按钮时工作的模式——现在我想在代码中出现某些条件时手动切换模式 我有: var errorModalBox = document.getElementById("errorModal"); errorModalBox.modal('show'); 但是,第二行抛出以下错误: Property 'modal' does not exis
var errorModalBox = document.getElementById("errorModal");
errorModalBox.modal('show');
但是,第二行抛出以下错误:
Property 'modal' does not exist on type 'HTMLElement'.
正如错误所解释的,“HtmleElement”上不存在“modal”属性。这是因为您使用纯JavaScript而不是JQuery获取对HTML元素的引用。Jquery在引用HTML元素时添加其他方法,Bootstrap JS向Jquery对象添加其他方法和属性;其中之一是“模态”方法 由于您将Typescript与Angular 2一起使用,因此当您使用“$”或“jQuery”引用jQuery对象时,Typescript编译器将抛出一个错误。要修复编译错误,请将此语句添加到主组件中最后一条导入语句的下面
declare var $:any;
然后只需从以下位置更改代码:
var errorModalBox = document.getElementById("errorModal");
errorModalBox.modal('show');
致:
正如错误所解释的,“HtmleElement”上不存在“modal”属性。这是因为您使用纯JavaScript而不是JQuery获取对HTML元素的引用。Jquery在引用HTML元素时添加其他方法,Bootstrap JS向Jquery对象添加其他方法和属性;其中之一是“模态”方法 由于您将Typescript与Angular 2一起使用,因此当您使用“$”或“jQuery”引用jQuery对象时,Typescript编译器将抛出一个错误。要修复编译错误,请将此语句添加到主组件中最后一条导入语句的下面
declare var $:any;
然后只需从以下位置更改代码:
var errorModalBox = document.getElementById("errorModal");
errorModalBox.modal('show');
致:
谢谢很好用,太棒了。很高兴它有帮助!谢谢很好用,太棒了。很高兴它有帮助!