2017-07-19 16 views
0

角度でコントローラを定義するときは、このようにします。複数のアプリで使用される1つの角型コントローラ

angular.module('AppName').controller('ControllerName', function ($scope, $location, dataService, commonMethods) { 
}); 

これを使用して、同じコントローラを2つの異なるアプリケーションで使用する方法を教えてください。

angular.module('AppName1').controller('ControllerName', function ($scope, $location, dataService, commonMethods) { 
}); 

angular.module('AppName2').controller('ControllerName', function ($scope, $location, dataService, commonMethods) { 
}); 
+0

コントローラの作成を 'controller'呼び出しから分けてください。 IOW、 'controller'の外に' function($ scope、$ location、dataService、commonMethods){ } 'を動かし、その名前をつけてコントローラコールでその名前を使用します:' .controller( 'ControllerName'、nameOfController); ' 。 –

+0

コントローラー定義を含む共通モジュールを作成し、代わりにそのモジュールを使用するとどうなりますか? –

答えて

0

あなたは、さまざまなアプリケーション(コントローラ、サービスなど)の間で共有する項目のすべてと別のモジュールを作成し、そしてちょうどそれらの項目を必要とするアプリケーションにそのモジュールを注入。その後

angular.module("shared") 
.controller(...) 
.service(...) 
.constant(...) 

アプリのモジュールファイルの前にshared.jsファイルをロードし、その後でそれを注入してください:

angular.module(あなたが持っているshared.jsような何かでそう

"app"、 "shared")

0

これはアプリケーションをモジュラー化するためのモジュールです。

angular.module('some', []).controller('SomeController', ...); 
... 
angular.module('app1', ['some']); 
... 
angular.module('app2', ['some']); 
0

サービス、工場、指令などを別のjsファイルに置き、それぞれがで始まる場合。次に、.jsファイルをインクルードします。

// Constants.js 
.constant('Constants', { 
    Initialize_IntervalMilliseconds: { 
     defltTimeout: 50, 
     longTimeout: 250 
    } 
}); 

// factoryGlobal.js 
myTable.factory('factGlobal', function() { 
    return { 
     BaseURL: "http://localhost:6/api/", 
     etc = "" 
    }; 
}); 

複数のモジュールに使用できます。かなり良い

+0

私はあなたがそのルートに行くならば、あなたはIIFEにこれらのアイテムのいずれかをラップすることはできないと思います。 –

関連する問題