Javascript如何在显示DOM元素时添加延迟?

时间:2016-09-20 09:02:28

标签: javascript html angularjs

我需要在我的应用中添加延迟显示页面。我正在使用angularjs框架。我需要这样做的原因是,即使我的DOM完全呈现,来自angularjs的数据仍然被读取而不会添加到DOM中。我已经尝试在 ui-view 中添加超时但是它没有做到这一点。

3 个答案:

答案 0 :(得分:1)

尝试使用超时功能:

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $timeout) {
    $scope.myHeader = "Hello World!";
    $timeout(function () {
        $scope.myHeader = "How are you today?";
    }, 2000);
});

More Information ...

答案 1 :(得分:0)

我没理解你为什么要延迟页面加载

我从您的问题中了解到,您的网页会以未编译的形式显示 尝试使用

ng-cloack directive

ngCloak指令用于防止浏览器在加载应用程序时以原始(未编译)形式短暂显示Angular html模板。使用此指令可避免由html模板显示引起的不良闪烁效应。

该指令可以应用于<body>元素,但首选用法是将多个ngCloak指令应用于页面的一小部分,以允许逐步呈现浏览器视图。

这是完整的文档

https://docs.angularjs.org/api/ng/directive/ngCloak

答案 2 :(得分:0)

使用resolve选项在加载视图之前加载JSON。 Documentation.

例如:

resolve: {
    return $http({method: 'GET', url: '/someUrl'})
               .then (function (data) {
                   return doSomeStuffFirst(data);
               });
}