2013-07-22 12 views
30

$scope.$watch('tableForm.$pristine', function (newValue) { 
    $rootScope.$broadcast("tableDataUpdated", 
     { state: $scope.tableForm.$pristine }); 
}); 

私も試みた:

$scope.$watch('tableForm.$pristine', function (newValue) { 
    var tableForm = { pristine: $scope.tableForm.$pristine }; 
    $rootScope.$broadcast("tableDataUpdated", tableForm); 
}); 

tableForm $pristine状態変化は、次に$scope.tableForm.$pristineの値をFalseに設定され、このメッセージがブロードキャストされる場合。私は「状態」の値が定義されていないメッセージを受信しようとすると、

は、しかし:

$rootScope.$on("tableDataUpdated", function (args) { 
    alert(args.state); 
}); 

を私も試してみました:

$rootScope.$on("tableDataUpdated", function (args) { 
    alert(args.tableForm); 
}); 

それでも私は、送信することはできていないように見えますオブジェクトを受け取りました

答えて

58

これは、リスナー関数に2つの引数が渡されているためです(eventおよびargs)。これが機能するようになりました

 
$rootScope.$on("tableDataUpdated", function (event, args) { 
     alert(args.state); 
    }); 
+1

the angular docs.

てみてくださいを参照してください。どうもありがとう。私はAngularJSのドキュメントがもう少し明確であったらいいと思う。私は長い時間、$放送などで検索しているいくつかの例を見つけようとしていましたが、私は答えを受け入れます。 – Melina

関連する問題