何时以及如何在Controller
和/或Directive
中获取待编译div的长度,在这种情况下为.length-wanted
,而不依靠{{1 }}?或者是否有一个事件告诉我Angular的工作已经全部完成,我可以得到它的高度/宽度?
$timeout
答案 0 :(得分:0)
由于调整大小可能会改变,因此我最终选择了:
<div ng-controller="testCtrl">
<div get-length>
<div class="height-wanted" height="data.height" ng-bind="arr"></div>
</div>
</div>
app.directive('lengthWanted', function() {
return {
restrict: 'C',
scope: {height: '='},
link: function (scope, element) {
scope.$watch(function() {
return element.height();
}, function(newVal) {
scope.height = newVal;
});
}
};
});
当然,这是用$digest
检查元素的高度。您可以通过在resized
中存储scope
属性并在已设置为false的情况下返回已监视的函数来优化此操作。