2017-06-27 8 views
1

私はプロジェクトにangular-dashboard-frameworkを使用しています。私はウィジェットが閉じられたときに関数をトリガーする必要があります。これまで私は、ウィジェットが閉じられると、adfがメッセージadfWidgetRemovedFromColumnをブロードキャストすることを発見しました。angle-dashboard-frameworkでウィジェットを閉じる際に関数を呼び出す方法は?

$scope.$on('adfWidgetRemovedFromColumn', function(event, args) { 
    console.log('widget-removed'); 
    someService.someFunction(); 
}); 

をfollowesとして
だから私はこの問題は、上記のメッセージがリスナーの上rootScoopで放送されているので、ダッシュボード内で閉じ、すべてのウィジェットのために起動してしまうことがあります私のコントローラ上のイベントリスナーを作成しました。特定のウィジェットが閉じられたときにのみこれを制限するにはどうすればよいですか?クリックご希望のウィジェット上にある場合にのみ、ここではMyWidget this- $rootScope.$broadcast('eventName', {'myWidget': $scope.isMyWidget})

のようなイベントを放送しながら

+0

お役に立てば幸いですか! – Vivz

答えて

1

あなたはデータを追加する必要があり、真でなければなりません。したがって、$scope.isMywidgetは、クリックがあなたの望みのウィジェット上にある場合にのみ真でなければなりません。

そしてリスナーにあなたはそのPARAMTERがtrueの場合にのみコードを実行します -

$scope.$on('adfWidgetRemovedFromColumn', function(event, args) { 
    if (args.myWidget) { 
     console.log('widget-removed'); 
     someService.someFunction(); 
    } 
}); 

は、これらのウィジェットは、一意のIDか何かを持っています

+0

あなたの提案をありがとう。これは素晴らしいことですが、私はこれを変更することができません。私は既存のフレームワークの上にウィジェットを作成しており、ウィジェットを閉じる作業を行うフレームワークです。 私はコントローラで$ destroyを聞いてこれを解決することができました。それはそれをする良い方法ですか? –

関連する問題