2016-09-25 6 views
0

Я следующую функцию в контроллере:addEventListener возвращаемое значение в контроллере AngularJS

vm.trasformaController = function(){ 

        document.getElementById("document") 
         .addEventListener("change", handleFileSelect, false); 


        function handleFileSelect(event) { 
         readFileInputEventAsArrayBuffer(event, function(arrayBuffer) { 
          mammoth.convertToHtml({arrayBuffer: arrayBuffer}) 
           .then(displayResult) 
           .done(); 
         }); 
        } 

        function displayResult(result) { 

         var stringa = result.value; 
         console.log(stringa); 
         /*vm.risultato = stringa;*/ 
         return stringa; 
       /*  document.getElementById("output").innerHTML = result.value; 

         var messageHtml = result.messages.map(function(message) { 
          return '<li class="' + message.type + '">' + escapeHtml(message.message) + "</li>"; 
         }).join(""); 

         document.getElementById("messages").innerHTML = "<ul>" + messageHtml + "</ul>";*/ 

        } 

        function readFileInputEventAsArrayBuffer(event, callback) { 
         var file = event.target.files[0]; 

         var reader = new FileReader(); 

         reader.onload = function(loadEvent) { 
          var arrayBuffer = loadEvent.target.result; 
          callback(arrayBuffer); 
         }; 

         reader.readAsArrayBuffer(file); 
        } 

        function escapeHtml(value) { 
         return value 
          .replace(/&/g, '&amp;') 
          .replace(/"/g, '&quot;') 
          .replace(/</g, '&lt;') 
          .replace(/>/g, '&gt;'); 
        } 
} 

, как я могу вернуть переменную stringa в мой контроллер? Я пробовал с vm.result = stringa;, но это не работает. Любые предложения приветствуются. Консоль.log показывает, что моя переменная существует.

ответ

0

Я решил это:

scope.$apply(function(){ 
          scope.refertazione.result = result.value; 
         }) 
Смежные вопросы