Angularjs $viewContentLoading不起作用

Angularjs $viewContentLoading不起作用,angularjs,controller,load,Angularjs,Controller,Load,我试图在加载内容之前记录一些值。为此,我使用$viewContentLoading,它在init函数中被调用。但是,没有记录该值。谁能说出我的代码有什么问题吗 var-app=angular.module('plunker',[]); app.controller('MainCtrl',函数($rootScope,$timeout,$q){ 函数init(){ $rootScope.$on(“$viewContentLoading”,函数(事件,viewConfig) { 警惕(“你好”);

我试图在加载内容之前记录一些值。为此,我使用$viewContentLoading,它在init函数中被调用。但是,没有记录该值。谁能说出我的代码有什么问题吗

var-app=angular.module('plunker',[]);
app.controller('MainCtrl',函数($rootScope,$timeout,$q){
函数init(){
$rootScope.$on(“$viewContentLoading”,函数(事件,viewConfig)
{
警惕(“你好”);
控制台日志(33)
});
}
init();
});

安古拉斯普朗克

我的意思是,这就是它目前的工作方式。重述:

$viewContentLoading
被广播 解析部分下的依赖项将被解析 控制器被实例化并解析注入的依赖项。 $viewContentLoaded已发出。 控制器对$viewContentLoaded做出反应(当然,当它被设置为分派这些事件的委托时)。 我有一些视图需要一段时间才能从服务器加载数据(有时约1秒),因此我想在从一个路由转换到另一个路由时显示一个加载指示器

我知道在加载数据时还有其他方法可以渲染它。但是,如果routes负责通过将控制器、模板和来自resolve部分的数据放在一起来定义UI状态,那么我发现让routes通知任何想要收听它的人加载过程的当前状态是很自然的

我的用例

我的用例是一个主细节视图向下展开交互。假设我已经设置了以下ui视图。在本例中,局部视图是呈现用户名的集合视图的子视图

+-----------------------------------------+
| user 1 |  user 1 details view          | 
| user 2 |                               | 
| user 3 |                               | 
| user 4 |                               | 
| user 5 |                               | 
| user 6 |                               | 
+-----------------------------------------+
也许我遗漏了什么,但当我第一次指向浏览器#/users/1时,理想情况下,我希望发生以下情况:

用户父路由解析承诺并在与该状态关联的控制器上注入结果。 当users.show从服务器获取数据时,会呈现集合视图(这是一个API调用,有时需要一秒钟才能加载)。 “详细信息”视图呈现加载指示器。 users.show中的resolve部分最终从服务器获得200ok,并在控制器中注入依赖项。
因此,我最终可以呈现用户的详细信息。

我认为该事件仅适用于使用ui路由器加载的视图。。你试着穿普通的