2つのページには、いくつかの機能を含む1つの共通タブがあります。私はすでに1ページのためにそのタブのための準備ができてコードを複製せずに私の2番目のページにすべてのコードを再利用したい。共通のJSファイルを使用して2つのコントローラ間で変数とメソッドを共有する
例えば、これはタブのページ1のための私のコードです:
$ scope.myObjが重く、私は、共通の1を持っていると思いますので、タブの両方で共通になりますすべてのメソッドで使用されているapp.controller('myCtrl', ['$scope', '$window', 'myService', '$filter', function ($scope, $window, myService,$filter) {
$scope.myObj = [
{id:1,location : null},
{id:2,location : null}
]
//Lots of other variables here which are common and will be used in both the tabs and lots of methods which are also common
}]);
jsファイルでは、コードの重複を避けるために、2ページのコントローラの両方でこれらのメソッドをすべてコピー&ペーストする必要がないように、この共通の変数とメソッドをすべて保持します。
私は以下のような1例を見つけましたが、私は私の$ scope.myObjのような方法で複雑な変数を共有する方法を得ていないのです。
How to share common logic between controllers?
コードを再利用するために、サービスと工場を使用できます。このリンクを参考にしてください:https://blog.thoughtram.io/angular/2015/07/07/service-vs-factory-once-and-for-all.html – Burhan
可能な複製のhttp:// stackoverflow .com/questions/21919962/share-data-between-angularjs-controllers – Sagar
可能な複製のhttp://stackoverflow.com/questions/43693072/how-to-passing-data-from-one-controller-to-another-コントローラを使用する角度js-1 –