2016-11-14 5 views
0
$scope.$on('properties:update', function (event, properties) { 
     $scope.properties = properties; 
     console.log('fired'); 
}); 

上記のコードは何をしますか?コントローラーとビューの別の場所にあるupdateメソッドが表示されませんでした。上記のイベントは、ページに入ると1回だけトリガされます。それをプログラムで起動するには?

+0

性質 'の検索、次のようにイベントレシーバは、別のコントローライベント放送局:プロジェクトでupdate'を、そこに持っているが、どこかにしますこのような '$ scope() 'のようなコードは、$ broadcast(' properties:update''または' $ scope。$ emit( 'properties:update'' –

答えて

0

このメソッドは、コントローラ間の通信に使用されます。 1つのアプリケーション内の2つのコントローラは、ブロードキャストとハンドラを使用して互いに通信できます。以下の例を参照してください。

$rootScope.$broadcast('showMenu', $scope.ticket_items); 

$scope.$on("showMenu",function(event,ticket_items){ 
    $scope.ticketVisible = false; 
    $scope.ticket_items = ticket_items; 
}); 
+0

)$ rooteScopeが$ブロードキャストを行うときになぜ必要ですか? $ rootScopeを使ったhare変数? –

+0

ブロードキャストするときは$ scopeでなく$ rootScopeを使うべきです。このようなコントローラーが付いてくるはずです。 –

+0

App.controller( 'YourCtrl'、 function($ scope、$ rootScope){ –

関連する問題