【问题标题】:How to use javascript code inside angular如何在 Angular 中使用 javascript 代码
【发布时间】:2020-04-04 20:56:55
【问题描述】:

我正在尝试将此 javascript 代码添加到我的 html 组件(模板)中,但它不起作用。您知道该怎么做吗?

<script>
  $(document).ready(function() {
    $().ready(function() {
      $sidebar = $('.sidebar');

      $sidebar_img_container = $sidebar.find('.sidebar-background');

      $full_page = $('.full-page');

      $sidebar_responsive = $('body > .navbar-collapse');

      window_width = $(window).width();

      fixed_plugin_open = $('.sidebar .sidebar-wrapper .nav li.active a p').html();

      if (window_width > 767 && fixed_plugin_open == 'Dashboard') {
        if ($('.fixed-plugin .dropdown').hasClass('show-dropdown')) {
          $('.fixed-plugin .dropdown').addClass('open');
        }

      }


  });
</script>


感谢您的帮助!

【问题讨论】:

    标签: javascript angular


    【解决方案1】:

    不建议在模板 html 中添加脚本标签。避免这种情况的主要原因是您在“Angular 上下文”之外(在 Zone.js 之外)运行代码。为您的代码使用 component.ts 文件以确保它按预期执行。

    也不建议将 jQuery 与 Angular 一起使用,因为 jQuery 的几乎所有功能都是通过 Angular 框架提供的。

    也许你描述了你想用脚本 sn-p 实现什么,会有一种“Angular 方式”来实现。

    【讨论】:

    • 我发布的 js 和 jquery 代码用于我下载的仪表板模板,这就是为什么我试图让它在 angular 中工作。无论如何在 Angular 中使用 js 和 jquery 而不使用组件.ts ?
    • 我不知道如何,我认为它应该按照您发布的方式工作,但需要一个完整的示例来重现它(我认为这就是为什么您会得到如此多的反对票)。添加更多的 console.logs 以确保代码运行并具有您认为它应该具有的状态。另一个提示是了解代码及其用途。您发布的 sn-p 中的 ready-callback 函数的前四行完全没用。也许您下载的模板不是您应该在角度上下文中使用的仪表板...
    • 我试图添加完整的代码,但编辑拒绝添加包含大量代码的帖子,这就是为什么我简短并解释了我的观点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-17
    • 2015-11-19
    • 2017-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多