Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 角度指令-远视输出0_Angularjs_Angularjs Directive - Fatal编程技术网

Angularjs 角度指令-远视输出0

Angularjs 角度指令-远视输出0,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我有一个简单的弹出指令,在那里我需要找到一个div的高度 当我输出div console.log$elem.find'.reviews slide detail'时,它会显示完整的对象,[0]->offsetHeight显示一个数字223 但当我尝试直接输出数字时,console.log$elem.find'.查看幻灯片详细信息'[0].offsetHeight;,它显示0 我的div不是隐藏的,它的固定位置和非常正常的样式 有人知道这种差异的原因吗 编辑: 指令的一部分: function r

我有一个简单的弹出指令,在那里我需要找到一个div的高度

当我输出div console.log$elem.find'.reviews slide detail'时,它会显示完整的对象,[0]->offsetHeight显示一个数字223

但当我尝试直接输出数字时,console.log$elem.find'.查看幻灯片详细信息'[0].offsetHeight;,它显示0

我的div不是隐藏的,它的固定位置和非常正常的样式

有人知道这种差异的原因吗

编辑:

指令的一部分:

function resultReviewDirective($timeout, $http, $state, UtilService, ResultService, Session, $window) {
    return {
        restrict: 'AEC',
        replace: true,
        templateUrl: 'modules/core/templates/result.review.html',           
        link: function($scope, $elem, $attrs){


            $scope.reviewFunc.setHeight = function() {


                console.log($elem.find('.reviews-slide-detail'));
                console.log($elem.find('.reviews-slide-detail')[0].offsetHeight);


            };

        }
    };
}


angular.module('core').directive('resultReview', resultReviewDirective);

多亏了PSL的评论,将其包装为$timeout才有效。

这是因为,您可能试图过早地访问该元素。console.log$elem.find'.detail'显示完整的对象,因为console存储对象的引用,该引用在呈现时自动更新,但当您输出console.log$elem.find'.detail'[0]时,它直接离开视线,它不是引用,只是在记录时输出值。您可以为指令添加代码吗?@PSL,我正在使用单击功能触发console.log,因此它不会在页面加载时触发,但我仍然遇到同样的问题,有什么想法吗?页面加载不重要。:,angular运行摘要循环以使用绑定更新DOM,这也发生在ng单击之后。只是为了测试它,将它包装在$timeout中see@PSL那么在这种情况下我应该使用digest吗?