2013-09-03 15 views
7

से संकलित HTML प्राप्त करना मुझे AngularJS में किसी पृष्ठ के संकलित HTML प्राप्त करने में समस्या हो रही है।AngularJS

जे एस:

<script src="http://code.angularjs.org/1.2.0rc1/angular.min.js"></script> 
    <script> 
     var app = angular.module('main', []); 

     app.directive("compile", ['$compile', function ($compile) { 
      return { 
       link: function(scope, elem, attr){ 
        var compiledHTML = $compile(elem.contents())(scope); 
        console.log(compiledHTML); 
        var returnString = ''; 
        for(i=0; i<compiledHTML.length; i++) 
         returnString += compiledHTML[i].outerHTML; 

        console.log(returnString); 
       } 
      }; 
     }]); 
    </script> 

HTML: कोड यह

<html ng-app="main" compile> 
    <body> 
     {{3 + 4}} 
    </body> 
</html> 

क्या अजीब बात है पहले console.log() में है, यह संकलित आंकड़ों से पता चलता, 7, outerHTML में संपत्ति, लेकिन जब मैं सभी .उटरएचटीएमएल आउटपुट करता हूं, तो यह असम्पीडित संस्करण दिखाता है, {{3 + 4}}

+1

हो सकता है कि 'console.log' के साथ समस्या के रूप में http://stackoverflow.com/a/18597550/1529630 – Oriol

+0

धन्यवाद एक ही है। ऐसा लगता है कि यह उस समस्या के विपरीत था। पृष्ठ को लोड होने के बाद ही सही आउटपुट दिखाया गया था, लेकिन वापसी के लिए नहीं। – James

उत्तर

12

ऐसा लगता है कि यह एक समय मुद्दा था। संकलित HTML को संसाधित करने की प्रतीक्षा करने से चाल चल रही थी।

$timeout(function(){ 
    var returnString = ''; 
    for(i=0; i<compiledHTML.length; i++) 
     returnString += compiledHTML[i].outerHTML; 

    console.log(returnString); 
},0);