簡體   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