在加载后填充类的值

时间:2015-05-27 15:43:23

标签: javascript jquery angularjs

我需要获取一个类(.item-title)的值/文本,但是该类不能立即使用,它是通过angular加载的。我试图在尝试获取值之前使用window.load来加载页面,但这不起作用,因为类没有值,所以它变为空。页面加载后,该类确实有一个值。页面加载后,我可以使用Chrome控制台输出.item-title就好了。有没有办法在填充类(.item-title)后运行此函数?该项具有相同的ID值,因此也是一个选项。谢谢!!!

由一个简单的JS引用调用:     /App/lib/angulartics/angulartics-mixpanel.js“

angulartics-mixpanel.js的全部内容:

(function(angular) {
'use strict';

angular.module('angulartics.mixpanel', ['angulartics'])
.config(['$analyticsProvider', function ($analyticsProvider) {

    angulartics.waitForVendorApi('mixpanel', 500, '__loaded', function     (mixpanel) {
        $analyticsProvider.registerPageTrack(function (path) {
            var properties = {
                'Page': $('.item-title').text()
            };
            mixpanel.track("Page Viewed", properties);
        }));
    });

}]);
})(angular);

1 个答案:

答案 0 :(得分:0)

您也可以使用$timeout,或者没有延迟值,因为等待其他所有其他内容在开始之前完成,或者如果需要则延迟时间。不要忘记先将$ timeout注入控制器!

我已修改此帖子以包含(我认为)您的模块模式的正确实现。 (更多关于依赖注入here

    (function ( angular ) {
    'use strict';

    angular.module( 'angulartics.mixpanel', ['angulartics'] ).config( ['$analyticsProvider', '$timeout', function ( $analyticsProvider, $timeout ) {

        angulartics.waitForVendorApi( 'mixpanel', 500, '__loaded', function ( mixpanel ) {
            $analyticsProvider.registerPageTrack( function ( path ) {
                $timeout( function () {
                    var properties = {
                        'Page': $( '.item-title' ).text()
                    };
                    mixpanel.track( "Page Viewed", properties );
                },1000 );

            } );
        } );

    }] );
   })( angular );