【问题标题】:How to tell when an angularjs ui.router view with subviews has fully loaded?如何判断带有子视图的 angularjs ui.router 视图何时已完全加载?
【发布时间】:2015-08-19 15:53:39
【问题描述】:

我有一个使用 ui-router 的 angularjs 应用程序。我有一个带有子视图的页面。我想知道页面何时完全加载,类似于 document.ready。我知道 angularjs 有 $viewContentLoaded 事件,但是每个子视图都会触发。因此,当您添加它时,它将为您的每个子视图触发。有谁知道一种方法来侦听让我知道整个页面已完成加载的事件?

【问题讨论】:

    标签: javascript html angularjs angular-ui-router


    【解决方案1】:

    您可以绑定到$stateChangeSuccess 事件,并根据需要利用参数(例如,如果您只想为特定的toState 做某事)

    $stateChangeSuccess - 状态转换完成后触发。

    一个例子可能包括...

    $scope.$on('$stateChangeSuccess', function (event, toState, toParams, fromState, fromParams) {
        // done -- do something
    });
    

    您可以将它包含在诸如控制器之类的地方或全局某处,例如run 函数并绑定到$rootScope

    查看ui-router docs了解更多信息

    【讨论】:

    • 好吧,我认为这对我的情况没有帮助,因为我必须对每个“父”状态进行硬编码,以查看它是否是成功的状态。我想要一个更动态且可以应用于任何页面的解决方案。此事件是否仅在整个页面处理完毕后才会触发?
    • 这可以应用于任何页面。你能多解释一下你关心的问题吗?
    • @FedilGrogan 你在这方面有什么进展吗?这是否解决了您的问题或向您发送了正确的方向?请告诉我
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-29
    • 2014-11-13
    • 2017-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多