为什么 jquery 在 Angular 7 项目中重新加载一次后可以工作?

Why jquery works after reloading once in Angular 7 project?

我有一个使用 angular 7 CLI 创建的仪表板,它使用 bootstrap,但主要功能是用 jquery 编写的,就像我知道的每个模板一样。问题是下一个:

为了切换侧边栏,html 使用这一行 <a href="javascript:void(0)" class="navbar--btn" data-toggle="sidebar" title="Toggle Sidebar"></a> jquery 文件包含以下代码:

    var $toggleSidebar = $('[data-toggle="sidebar"]');

    $toggleSidebar.on('click', function(e) {
        e.preventDefault();

        $body.toggleClass('sidebar-mini');
    });

    var $scrollBar = $('[data-trigger="scrollbar"]');

    $scrollBar.each(function() {
        var $ps, $pos;

        $ps = new PerfectScrollbar(this);

        $pos = localStorage.getItem('ps.' + this.classList[0]);

        if ($pos !== null) {
            $ps.element.scrollTop = $pos;
        }
    });

    $scrollBar.on('ps-scroll-y', function() {
        localStorage.setItem('ps.' + this.classList[0], this.scrollTop);
    });

这里的问题是当我通过路由 {useHash:true} 从登录传递到此仪表板时,切换按钮在我重新加载一次页面后不起作用。 另一个是侧边栏中的滚动条......直到我刷新一次才出现。无论如何都存在以避免在 Angular 7?

中重新加载此类 [data-trigger][data-toggle]

谢谢大家,我在auth服务中用location.reload(true);解决了。 问题是,当我从登录访问仪表板时,我正在对仪表板执行 "redirection",当我注销时,当 auth.service 执行重定向时,我使用 [routerLink]="" 重定向到登录这使系统感到困惑。对于每个有相同问题的人,不要进行两次重定向。您好!