Javascript 如何在angular 2+;中包含javascipt代码;?

Javascript 如何在angular 2+;中包含javascipt代码;?,javascript,angular,Javascript,Angular,这是HTML代码: <div id="myNav" class="overlay"> <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a> <div class="overlay-content"> <a href="#">About</a>`enter code

这是HTML代码:

<div id="myNav" class="overlay">
        <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>
        <div class="overlay-content">
          <a href="#">About</a>`enter code here`
          <a href="#">Services</a>
          <a href="#">Clients</a>
          <a href="#">Contact</a>
        </div>
      </div>

      <h2>Fullscreen Overlay Nav Example</h2>
      <p>Click on the element below to open the fullscreen overlay navigation menu.</p>
      <p>In this example, the navigation menu will slide in, from left to right:</p>
      <span style="font-size:30px;cursor:pointer" onclick="openNav()">&#9776; open</span>

`在这里输入代码`
全屏覆盖导航示例
单击下面的元素打开全屏覆盖导航菜单

在本例中,导航菜单将从左向右滑动:

☰ 打开
在angular项目中,我应该在何处包含此脚本标记以使其工作

<script>
    function openNav() {
      document.getElementById("myNav").style.width = "100%";
    }

    function closeNav() {
      document.getElementById("myNav").style.width = "0%";
    }
    </script>

函数openNav(){
document.getElementById(“myNav”).style.width=“100%”;
}
函数closeNav(){
document.getElementById(“myNav”).style.width=“0%”;
}

在Angular中,直接访问DOM不是一个好主意。理论上,您可以使用组件控制器中的
document.getElementById()或
document.querySelector()等方法访问DOM。但不要这样做

还有许多其他更好的方法可以从控制器操纵DOM。在您的情况下,一种简单快捷的方法是使用
[style.width.%]
属性绑定。试试下面的方法

component.html


在控制器中,您可以执行以下操作

组件技术

导出类SampleComponent实现OnInit{

customWidth=100;//直接访问DOM在Angular中不是一个好主意。理论上,您可以使用组件控制器中的
document.getElementById()或
document.querySelector()
等方法访问DOM。但不要这样做

还有许多其他更好的方法可以从控制器操纵DOM。在您的情况下,一种简单快捷的方法是使用
[style.width.%]
属性绑定。请尝试以下方法

component.html


在控制器中,您可以执行以下操作

组件技术

导出类SampleComponent实现OnInit{

customWidth=100;//我应该把div标签放在哪里?你能告诉我确切的代码吗?我只添加了表达式
[style.width.%]=“customWidth”
到您问题中已经出现的
div
。我没有在HTML模板中引入任何新语句。如果您是Angular新手,我建议您阅读本教程:。它介绍了一些基本知识。我尝试过使用它。但onlick函数不起作用。导航栏将永久显示现在。当我点击cross时,它不会关闭。我想这是另一个问题。你可能需要查看CSS触发的动画。我应该把div标签放在哪里?你能告诉我确切的代码吗?我只添加了表达式
[style.width.%]=“customWidth”
到您问题中已经出现的
div
。我没有在HTML模板中引入任何新语句。如果您是Angular新手,我建议您阅读本教程:。它介绍了一些基本知识。我尝试过使用它。但onlick函数不起作用。导航栏将永久显示现在。当我点击cross时,它不会关闭。我会说这是另一个问题。你可能需要查看CSS触发的动画。