2017-06-28 13 views
0

2つの.jsファイルがあります。最初の.jsファイルの機能が終了した後、2番目のファイルを "読み込み"たい。それ、どうやったら出来るの?anglejsファイル関数の後に.jsファイルを実行します。

htmlファイル:

<div class="row connectedSortable" id="sortable1" ng-app="graficosApp" ng-controller="graficosAppCtrl"> 
    <button ng-click="loadElements()">Load Elements</button> 
</div> 

最初のJavaScriptファイル(angularjs):

var app = angular.module('graficosApp', []); 
    app.controller('graficosAppCtrl', function ($scope, $http) { 

     $scope.CarregarGraficos = function() { 

      var myEl = angular.element(document.querySelector('#sortable1'));   
      myEl.prepend(content); 

     } 
    }); 

、その後、私はangularjsファイルに追加ボタンにいくつかの機能が追加されます私の第二のJavaScriptファイルを、持っています。私は最初のファイルの後に2番目のファイルをロードしたい。

ありがとうございます。

+0

JavaScriptファイルを「読み込み」たいのはなぜですか?あなたは本当にあなたの問題が何であるかについてより具体的な詳細を提供するべきです。コードサンプルも含めてみてください。また、これは具体的にAngularJSにどのように関連していますか? –

+0

最初のファイルは、angularjsを介してhtmlにいくつかのdivを追加します。 2番目のファイルは、追加されたdivのいくつかのボタンを作成します –

+0

何か試しましたか?たとえば、最初のファイルをHTMLファイルの2番目のファイルの前に置くのと同じように? –

答えて

1

私はこのようなアプローチで追加機能を追加することは良いとは思っていませんが、とにかくここにあなたの質問に答えています。必要に応じていくつかのスクリプトをロードするには、すべてが最初のファイルで完了したらこのコードを実行します。

// ... everything necessary is done before 
var scriptEl = document.createElement('script'); 
scriptEl.setAttribute('src', '/path_to_js_file.js'); 
document.body.appendChild(scriptEl); 

とにかく、私はあなたのコードの構造と機能についてもう一度考えて、あなたがこのような「ハック」を使用する必要があるときの状況を回避しようとすることをお勧めします。

0

あなたはjQueryのを使用している場合は、getScripts非常に簡単に行うことができます

$.getScript("ajax/test.js", function(data, textStatus, jqxhr) { 
    console.log(data); // Data returned 
    console.log(textStatus); // Success 
    console.log(jqxhr.status); // 200 
    console.log("Load was performed."); 
}); 

または使用のajax:

$.ajax({ 
    url: "http://myscript/path.js", 
    dataType: "script", 
    success: function() { 
    console.log("script loaded"); 
    } 
}); 
0

あなたはHEADタグ内の最初のファイルをロードしてみてください。これにより、実行がブロックされます。また、SECONDファイルでは実行を「延期」することができます。

<script src='FIRST_FILE'></script> 
<script defer src='source/SECOND_FILE'></script> 

達成したいと思われる動作についてはわかりません。主な機能が実行された後に必要な「機能」をロードするだけです。

+0

最初のファイルのすべてが同期している場合にのみ動作するはずです。それ以外の場合は、最初のスクリプトのすべてが実行された後にスクリプトがロードされ、実行されるという保証はありません。 –

+1

正確に!それは前提です – Robin

関連する問題