0

我正在使用带有模板 html 的路由

$routeProvider.when('/newroute',
{
templateUrl: 'template/newroute.html',
controller: 'myController'
});

在呈现模板 html 后,我需要做一些事情来使用 jquery 操作 DOM(我知道这不是一个好习惯,但我找不到我的问题的答案

但是,我找不到在模板 html 呈现后立即发生的正确事件。我尝试了以下操作,但不起作用。

$scope.$on('$viewContentLoaded', function () {
   doSomething(); //does not work
});

当我调试到 viewContentLoaded 时,模板 html DOM 仍然不可见。有任何想法吗?

4

1 回答 1

0

我有同样的问题。我最终通过setTimeout运行一些 jQuery 来解决它

                setTimeout(function () {
                var l=$('.accordion-section').length;
                if(l>0){
                    $('.accordion-section').equalHeights();
                }
            },500);

我将 setTimout 调用放入控制器的初始化中。这里还有其他一些答案,但$timeout对我不起作用。 AngularJS:AngularJS 渲染模板后如何运行附加代码?

于 2013-12-09T13:55:17.680 回答