首先在等角度应用程序中加载主内容之前加载标题

时间:2016-05-27 15:53:28

标签: javascript angularjs loader

我有一个标准的网站,布局如下(请原谅我伟大的艺术技巧!)

|-------------------|
|   HEADER          |
|___________________|

|------||-----------|
| side ||  Main     |
| bar  ||  Content  |
|      ||           |
|------||------------   

我正在使用Angular UI-router进行路由和状态。这是使用解析器加载特定状态的数据。如果我导航到某个状态,首先加载所有数据,然后立即显示所有3个主要组件。通常,标题/侧栏的加载速度非常快,主要内容需要花费更多时间。

是否有可能以某种方式显示它们按顺序出现:

  1. 标题
  2. 边栏
  3. 主要内容
  4. 此外,优选地,主要内容还包括加载器。我的第一个想法是将代码放在控制器而不是解析器中,但我认为解析器方式更优雅。

1 个答案:

答案 0 :(得分:0)

您可以使用角度延迟,创建承诺并组织代码,使用角度延迟,您可以在显示某些内容后调用方法。

you can see the documentation here

例如:

var showheader=function()
{
  var defer=$q.defer();
     //do your stuff
     //show your header
  defer.resolve();
  return defer.promise;
}
showheader().then(function(){
    //show your main and sidebar  
});