angularjs指令等待uib carousel加载

时间:2016-09-01 14:30:44

标签: javascript angularjs twitter-bootstrap angular-ui-bootstrap carousel

我有一个加载uib轮播的指令。在指令链接函数中,我想在postlink函数中等待,直到轮播完成加载,然后添加一些事件监听器并修改一些东西。我无法找到一种等待旋转木马完成加载的方法。一般的想法是这样的:

scope.$on('$viewContentLoaded', function() {
            alert(elem[0].querySelector(".left"));
            scope.carouselSpinnerInactive = true;

当在$ viewContentLoaded侦听器内时,警报不会触发。但是,当在侦听器之外时,elem [0] .querySelector(" .left")为空,我相信因为ui.bootstrap还没有完成创建它。我考虑的另一个选择是等待用户与周围div的交互,但这是一个丑陋的黑客并且不能可靠地工作

另外,我尝试过使用:

 $timeout(function() {
      alert(elem[0].querySelector(".left"));
      scope.carouselSpinnerInactive = true;
 });

警报在那里正常工作,但事实证明,这也是在旋转木马实际加载之前很好的。我知道这是因为carouselSpinnerInactive移除了一个在旋转木马加载之前占用空间的微调器,并且微调器停用和旋转木马可见之间存在明显的延迟。

0 个答案:

没有答案