【问题标题】:send variable from basic js to angular将变量从基本 js 发送到 angular
【发布时间】:2015-08-30 02:50:48
【问题描述】:

我想将基本 JS 中的变量发送到函数中的角度。我想发送变量value1。如您所见,我声明了value1 的代码,并且在脚本关闭后,我想将value1 的值发送到在其他文件中声明的函数doImportAll

<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>

【问题讨论】:

  • 嗨,我不知道你为什么要这样做?为什么不使用 angular 并在控制器内完成,并在某个工厂为文件阅读器处理逻辑?

标签: javascript angularjs function variables send


【解决方案1】:

正如已经指出的那样,没有任何理由的以角服务中做到这一点。但如果无论你的理由,你希望有这个功能没有内部角运行,你可以像这样值分配给全局的window对象: P>

window.value1 = lines[0];

然后它将是经由窗口对象的角度接近。这是不是最优雅的解决方案,你应该真正考虑内角改制您的FileReader逻辑来工作。

【讨论】:

    【解决方案2】:

    您可以将值注入到您的 Angular 应用程序中,然后使用它

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

    这是工作示例 http://plnkr.co/edit/rUCXJ0GmEb5iWf8OiBs6?p=preview

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-31
      • 2010-12-16
      相关资源
      最近更新 更多