私はangularjsアプリケーションで作業しています。私のWebページには、多くのdatarange pickersがあります。ユーザーが日付ピッカーからdaterangeを選択すると、そのコンポーネントに割り当てられた特定の角度コントローラーに選択された日付を渡す必要があります。ユーザーがdaterangepickerからdaterangeを選択し、Applyをクリックすると呼び出される以下のコードを見てください。選択した日付を$ broadcastを使って別のコントローラに渡しています。私は特定の角度コントローラに日付範囲を渡す必要があり、特定の日付ピッカーのために選択した日付に基づいて、私の単一のHTML file.andで複数のdaterangepickersを持っているとき、日付範囲ピッカーが選択されているかを知る方法複数のブロードキャストを使用して、ユーザーの選択に基づいて角度コントローラを呼び出す方法
var cb = function(start, end) {
$('.reportrange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
var reportStartDate = start.format('MM-DD-YYYY');
var reportEndDate = end.format('MM-DD-YYYY');
$rootScope.$broadcast('loadSimDateCtrl', reportStartDate, reportEndDate);/*When user selects a date range in daterangepicker, this function is invoked,
the selected date is passed to the angular controller using broadcast*/
}
。ご意見をお聞かせください。
粗い例はhereです。 ユーザがSIM Date Range ctrlからdarerangeを選択した場合、選択した日付を渡すことによってsimDateCtrlを呼び出す必要があります。他の日付ピッカーに対しても同様です。ご意見をお聞かせください。 単一の関数var cb = function(start, end) {. }
$ブロードキャストを呼び出す方法は別の角度コントローラを呼び出します。
さまざまなイベントをブロードキャストできます。たとえば、$ rootScope。$ broadcast( 'loadSimDate1'、reportStartDate、reportEndDate)$ rootScope。$ broadcast( 'loadSimDate2'、reportStartDate、reportEndDate) – Jin
のようになりますが、ユーザーが1番目のdaterange pickerから日付を選択すると、私は対応するコントローラを呼び出すことができます。同様に、ユーザーが2番目のdaterangeピッカーから日付を選択するとき、私は対応する角度コントローラを呼び出すことができるように知っている必要があります。 http://plnkr.co/edit/OnvUEBzhYWsaGipUNLwC?p=preview @J Jin – participantjava
このプロセスは次のとおりです。ユーザーが1st daterange pickerから日付を選択すると、 'ng-change = "callBackend1($ event)"'を使用して、 callBackend1はブロードキャスト 'loadSimDate1'を呼び出し、対応するコントローラで 'loadSimDate1'を送出します。だから2番目のdaterangeピッカーです。 – Jin