私はこの例のように2つの以上のコントローラに/自動同期データを共有できるサービスとします(例から)角度AJAXサービス
app.js
var myApp = angular.module('myApp', []);
myApp.factory('Data', function(){
return { FirstName: '' };
});
myApp.controller('FirstCtrl', function($scope, Data){
$scope.Data = Data;
});
myApp.controller('SecondCtrl', function($scope, Data){
$scope.Data = Data;
});
を
さらに、私はajaxでデータをロードする必要があります。私はちょっと試しましたが、ajaxのために、私は約束が必要です(コントローラーはinitの後に変更されたデータを取得しません)。これは、フィドルリンクのような共有オブジェクトで働いていませんでした。可能であれば、イベントなしの解決策が必要です(rootscopeブロードキャスト)。
どうすれば両方の技術を併用できますか?あなたは私が何を意味するのか知っていますか? :)
工場で、約束を返すメソッドを作成することができます。そして、両方のコントローラで 'Data.asyncMethod(param1、param2).then(..)'を使います。 。 –
マイコントローラコードは次のようである: 'Data.getBlub()を(関数(応答){; \t $ scope.data =応答});' しかし、他のコントローラは、データを変更した場合、最初の新しいデータを受け取りません。 – Chris