0

我正在使用角度步进形式。在其中一种形式中,我有几个带有复选框的项目。当我选中复选框时,模态窗口正在打开,但是当单击模态窗口上的关闭按钮时,我无法关闭窗口。

HTML

<div class = "pop">
 <p><input type="checkbox" name="v" value="B" [checked] = "t1()">test</p>
<div>

<div id="myModal" class="modal">
 <!-- Modal content -->
    <div class="modal-content">
        <span class="close" (click) = "close()">&times;</span>
       <h2>Kasse</h2>   
    </div>

  </div>

ts

close(){
  document.getElementById("myModal").style.display = "none";
}
t1(){
  document.getElementById("myModal").style.display = "block"; 
}

请指导我解决这个问题。

4

1 回答 1

1

与其说是对您的问题的回答,不如说是一个建议,但我认为您最好重新审视您对如何使用 Angular 的想法。这个问题不应该以其他方式回答,因为如果你继续这样工作,你会越来越卡。仔细看看如何使用模板,你可以做什么,你不应该做什么。

例如,目前您正在使用本机函数,例如getElementById在组件代码中访问样式。这不是正确的方法,你应该看看模板引用变量,结合ngStyleor[style]绑定。

另一方面,您正在使用t1()在组件内部命名的函数,绑定到checked属性。这个函数应该返回一个关于它是否被检查的布尔值,并且这个函数将运行每一个变化检测周期。目前这个函数没有返回任何东西,并设置你的模态显示。

所以建议,看看 Angular网站上的最佳实践和示例。这将为您提供有关如何构建强大应用程序的最佳想法

于 2019-08-19T09:50:16.587 回答