Angularjs 获取ui视图中元素的高度
我有一个可以有可变高度的状态(取决于内容)。我想将该高度设置为背景色的css属性 但是我很难获得正确的高度,因为代码在内容加载到状态之前触发 我有这个状态,Angularjs 获取ui视图中元素的高度,angularjs,Angularjs,我有一个可以有可变高度的状态(取决于内容)。我想将该高度设置为背景色的css属性 但是我很难获得正确的高度,因为代码在内容加载到状态之前触发 我有这个状态, $stateProvider .state('home.suggestions', { url: '', views: { "suggestions": { templateUrl: '../assets/angular-app/templates/_suggestions.html',
$stateProvider
.state('home.suggestions', {
url: '',
views: {
"suggestions": {
templateUrl: '../assets/angular-app/templates/_suggestions.html',
controller: function(){
showHeight = $('.suggestions-container-wrapper').outerHeight();
console.log(showHeight)
}
},
},
})
但它总是返回175(加载ng repeat
内容之前元素的高度)
在所有调用完成后,如何运行代码?刚刚找到了一个简单的解决方案。但是在ng repeat元素后面有一个
ng init
,然后在触发时触发函数
控制员
$scope.setHeight = function (){
$timeout(function(){
showHeight = $('.suggestions-container-wrapper').outerHeight();
console.log(showHeight)
}, 0);
}
查看上的文档。您可以执行以下操作:
controller: function(){
$scope.$on('$viewContentLoaded', function(){
showHeight = $('.suggestions-container-wrapper').outerHeight();
console.log(showHeight)
});
}
也是一篇讨论它的文章。我可能会为此创建一个指令,并将其放在模板的顶层
controller: function(){
$scope.$on('$viewContentLoaded', function(){
showHeight = $('.suggestions-container-wrapper').outerHeight();
console.log(showHeight)
});
}