2017-01-10 4 views
1

2つのコントローラがあります。1.ベースコントローラと2.不良コントローラは、どちらも異なるファイルです。スコープの値または変数をあるコントローラから別のコントローラに渡したいと思います。 両方のコントローラが同じファイルにある場合、共有することができますが、問題はファイルが異なります。1つのコントローラファイルから別のファイルにスコープを渡すことは可能ですか

1つのコントローラから別のコントローラにスコープを渡すにはどうすればよいですか?

+0

サービスを利用する方法はありますが、 '$ rootScope'を使用して行うこともできます(アドバイスはされていませんが、 es) –

答えて

0

サービスを使用することは、コントローラ間で通信する最善の方法です。 https://docs.angularjs.org/guide/services

+0

はい、両方のファイルに休憩サービスを使用していますが、どのようにして共通の値を1つのコントローラから別のコントローラに共有できますか。 – user3114967

0

はここ 今あなたが角度に初期化した後、単にHTMLにこれらの2つのファイルが含まれていることを確認してくださいあなたのコントローラ

//controller in file one 
var app = angular.module('myApp'); // don't use [] if module is already inititalized 
app.controller('settingCtrl', function($scope, sharedService){ 
var shared = "Biscuits"; 
sharedService.setShared(shared); 
}) 

//controller in file two 
var app = angular.module('myApp'); 
app.controller('readingCtrl', function($scope, sharedService){ 
var shared= sharedService.getShared(); 
console.log(shared); // 'Biscuits', recieved from other controller 
}) 

にこのサービスを注入サービス

var app = angular.module('myApp',[]); 
app.service('sharedService', function(){ 
this.shared = null; 
return { 
    setShared: function(val){this.shared = val;}, 
    getShared: function(){return this.shared;} 
} 
}) 

を作成する方法です

+0

2つの異なるファイルから2つのコントローラを使用することは可能ですか? – user3114967

関連する問題