我需要获取一个类(.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);
答案 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 );