使用angularjs初始化zurb基础工具提示

时间:2013-10-27 20:22:04

标签: javascript jquery angularjs zurb-foundation

我已$(document).foundation()点击viewContentLoaded,但由于某种原因,它仍未运行:

var myApp = angular.module("myApp", []).run(function($rootScope) {
    $rootScope.$on('$viewContentLoaded', function () {
        console.log('loaded!');
        $(document).foundation();
    });
});

请参阅此处的演示:http://jsfiddle.net/UpwvU/

我已经跟了几个答案from this question,但没有一个让我成功。

1 个答案:

答案 0 :(得分:4)

$viewContentLoaded听起来像一个简单的事件....但遗憾的是,并不意味着所有的DOM元素都已被渲染。不幸的是,角度做了许多消化循环的方式,它几乎不可能明确地说完所有

要证明这一点,请尝试以下操作:

.run(function($rootScope, $timeout) {
     $rootScope.$on('$viewContentLoaded', function () {
            console.log('loaded!');
            console.log($('.has-tip').length,'  Num tips');// likely zero as ng-repeat hasn't completed

            $timeout(function(){        

             console.log($('.has-tip').length,'  Num tips after timeout');  // 5 
            },300)
        });
});

将您的基础代码放在$timeout block中,看看是否有帮助。至于等待的持续时间......不确定最佳建议是什么

DEMO with $timeout