2016-05-19 9 views
0

私は角度コントローラー(TimeCtrl)と他のいくつかのコントローラー間のデータを管理するファクトリー(DataService)を持っています。コントローラとデータオブジェクトの間のデータの同期

TimeCtrlには、$ scope.dateFromや$ scope.dateToのような変数があります。 DataService(wacht.dateFromとwacht.dateTo)の対応する変数と1つのメモリ空間を共有したいと考えています。

DataServiceでもDateFrom Inputの変更を探すために、ウォッチャーを複数持ちたいとは思っていません。

簡潔に:varは、sync関数なしで、その値を別のものと共有する必要があります。

解決策はありますか?期待されるようにTimeCtrlで

$scope.dateTo = DataService.getWacht().dateTo = ''; 

よう

物事は動作しません。

ありがとうございます。

+0

あなたはあなたのコードを共有してください可能性があり –

答えて

1

オブジェクトを使用してコントローラとファクトリインスタンスのプロパティとして割り当てると、非常に簡単です。あなたはこのようにそれを行うことができます

:フルたとえば

angular 
    .module('app', []); 

angular 
    .module('app') 
    .controller('Example', function (exFactory) { 
    this.obj = exFactory.obj; 
    }); 

angular 
    .module('app') 
    .factory('exFactory', function() { 
    return { 
     obj: { 
     x: 0 
     } 
    }; 
    }); 

はこのバイオリンを見て:https://jsfiddle.net/rnvLerqj/

関連する問題