繁体   English   中英

在 angular 渲染完成后运行 js 脚本

[英]Run js script after angular is done rendering

嗨,我在角度完成渲染后一直在运行 js 脚本。 我从https://github.com/codrops/AnimatedHeader克隆了代码

我需要它在 html 渲染后运行,因为它需要 header 元素,但是当我正在开发一个 angularJs 应用程序时,它需要一些时间来渲染,所以我的脚本会更早渲染并给我错误。 所以有什么办法可以让它等待。

我已经尝试过使用自定义指令,使用 ng-cloak,将我的 js 放在 window.onload 中。 我尝试了很多解决方案,但没有一个对我有用。

这是我的 index.html:

<html lang="en" ng-app="pliro" ng-cloak="">
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.0-beta.2/angular-animate.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.14.3/ui-bootstrap-tpls.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.8/angular-ui-router.min.js"></script>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.css
    </head>
    <body id="page-top" class="index">
        <script src="scripts/main/main.js"></script>
        <script src="scripts/main/main-controller.js"></script>
        <script src="scripts/header/header-controller.js"></script>
        <script src="scripts/footer/footer-controller.js"></script>
        </script>
        <div ng-include="'scripts/header/header.html'"></div>
        <div ui-view></div>
        <div ng-include="'scripts/footer/footer.html'"></div>
    </body>

    <script ng-src="js/classie.js"></script>
    <script ng-src="js/cbpAnimatedHeader.js"></script>
</html>

我需要 classie.js 和 cbpAnimatedHeader.js 在 header.html 呈现后运行。 任何帮助将非常感激。

那两个js不到100行。 我建议你把它改写成指令或服务。 他们不会为你花费超过一天的时间。

或者

在正文的末尾加载所有 js。 如果“header.html”已加载,则添加<script>并循环检查,然后本机加载其他 js。 我相信这比上面的选项复杂得多。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM