2015-06-14 7 views
0

Я хочу отправить переменную в базовую JS в угловую функцию. Я хочу отправить переменную value1. так как вы видите код, объявляющий value1, а после завершения скрипта я хочу отправить значение value1 функции doImportAll, которая объявлена ​​в другом файле.отправить переменную от базового js до углового

<script> 
     var value1='hi'; 
     var openFile = function(event) { 
      var input = event.target; 

      var reader = new FileReader(); 
      reader.onload = function(){ 
       var text = reader.result; 
       var node = document.getElementById('output'); 


       var lines = reader.result.split('\n'); 
       for(var line = 0; line < lines.length; line++){ 
        console.log(lines[line]); 
       } 
       value1=lines[0]; 
       node.innerText = lines[2] 
       document.getElementById('clicking').click(); 
      }; 
      reader.readAsText(input.files[0]); 
     }; 
    </script> 
    <button id="clicking" class="btn btn-md" ng-click="doImportAll(value1)" my-i18n="modal_importAll"></button> 
    <div> 
     <input type='file' accept='text/plain' onchange="openFile(event)"> 
    </div> 
    <div id='output'> 
     ... 
    </div> 
+1

Привет, Я не знаю, почему вы хотели бы сделать это? почему бы не работать с угловыми и делать это внутри контроллера и не обрабатывать логику на какой-либо фабрике для чтения файлов? –

ответ

0

Как уже указывалось, нет никаких причин не сделать это в угловом службы. Но если по какому-то вашей причине вы хотите, чтобы эта функция не работает внутри угловой, вы можете присвоить значение глобального объекта окна следующим образом:

window.value1 = lines[0]; 

Он будет доступен для угловых с помощью объекта окна. Это не самое элегантное решение, и вы должны действительно рассмотреть возможность реструктуризации вашей логики FileReader для работы в угловых условиях.

0

Вы можете вводить значение в вашем угловом приложение, а затем использовать это

angular.module('App').value('yourVar', value); 

angular.module('App').controller('Controller', function ($scope, yourVar) { 
    console.log(yourVar); 
}); 

Вот рабочий пример http://plnkr.co/edit/rUCXJ0GmEb5iWf8OiBs6?p=preview

Смежные вопросы