‫۸ سال و ۱۰ ماه قبل، دوشنبه ۱۶ آذر ۱۳۹۴، ساعت ۱۴:۲۹
باتشکر مشکل حل شد. در Directive ngFinishRender  به دلیل استفاده از سرویس timeout$، فراخوانی تابع بعد از اجرای کامل چرخه Digest$ انجام می‌شود این کار باعث رندر شدن کامل داده بازگشتی می‌شود. برای شفاف شدن موضوع کد مربوطه را اینجا می‌گذارم
<script type="text/ng-template" id="menu">
    {{item.caption}} -- <b>{{level}}</b>
    <ul ng-if="item.child.length > 0">
        <li id="{{item.caption}}" ng-finish-render="doWork()" ng-repeat="item in item.child" ng-include="'menu'" ng-init="level = level + 1"></li>
    </ul>
</script>
<div class="well">
    <ul>
        <li id="{{item.caption}}" ng-repeat="item in data" ng-include="'menu'" ng-init="level = level + 1" ng-finish-render="doWork()"></li>
    </ul>
</div>
$scope.doWork = function(){
     console.log($('#item2_1'));
}
$scope.level = 0;
$scope.data = [
            {
                caption:'root',
                child:[
                    {
                        caption:'item1',
                        child:[{
                            caption:'item1_1',
                            child:[{
                                caption:'item1_1_1'
                            }]
                        },{
                            caption:'item1_1'
                        }]
                    },
                    {
                        caption:'item2',
                        child:[{
                            caption:'item2_1',
                            child:[{
                                caption:'item2_1_1'
                            }]
                        }]
                    }
                ]

            }
        ];

‫۸ سال و ۱۰ ماه قبل، شنبه ۱۴ آذر ۱۳۹۴، ساعت ۱۱:۵۶
با تشکر از مطلب خوبتان.یه سوال داشتم.اگر از ng-repeat  به همراه ng-include برای داده هایی با ساختار (Recursive) مثل منوها استفاده کنیم در این صورت چه طوری می‌توانیم متوجه رندر شدن کامل داده شویم؟