2016-05-02 25 views
1

ここに私の問題の簡略化されたバージョンがあります。 私はloadMe.jsスクリプトが単純な関数を含み、何らかの配列を返すとします。別のスクリプト(AngularJS)から関数を呼び出す方法

CallMe = function(){ 
return [1,2,3]; 
} 

loadMe.jsスクリプトからCallMe関数を呼び出して、この場合、配列[1,2,3]において、その関数が復帰されているものを返すより、loadMe.jsスクリプトをロードする別のスクリプトを作成するng内の任意の可能性があります。 ありがとうございました!

+0

入れを使用することができますそれはサービスで、サービスを注入すると、あなたはその機能を得るでしょう。これは依存性注入です –

答えて

3

のようなモジュールにloadMe.jsを行います。その後、あなたのアプリにモジュールを注入

var loadMe = angular.module('loadMe',[]); 

loadMe.factory('loadMe', [function(){ 

return { 
    'callMe':function(){ 
     return[1,2,3]; 
    } 
}]); 

var myApp = angular.module('myApp', ['loadMe']); 

次に、あなたのコントローラでそれを使用します。

myApp.controller('mainController', ['$scope', 'loadMe', function ($scope, loadMe) { 
//use loadMe to get [1,2,3] 
var array = loadMe.callMe(); 
console.log(array); //will log [1,2,3] 

}); 

ドンあなたのHTMLにモジュールを含めることを忘れないでください

あなたは、コントローラのスコープにごloadMeモジュールを追加することができ、あなたのビューから直接配列を取得するために探している場合
<script src="/assets/js/models/loadMe.js"></script> 

$scope.loadMe = loadMe; 

は、その後、あなたのビューで、あなたは {{loadMe.callMe()}}

関連する問題