3

これの良い例のために苦労しています。

Web サービスをポーリングして毎分更新されるグラフ ディレクティブが必要です。

現在、Web サービスのラッパーであるサービスがあります。私のコントローラーはこのサービスにアクセスして、テンプレートを正常に設定できます。静的データを表示できるチャート ディレクティブも作成しました。このグラフ ディレクティブと、場合によっては同じページ上の複数のグラフをリアルタイムで更新できるようにしたいと考えています。したがって、ポーリングロジックはディレクティブ内にある必要がありますか? すべてのチャートが異なる間隔でポーリングできるようにしたいと考えています。

もちろん、単純化された例をいただければ幸いです。

コメントから編集:

次のようにディレクティブを追加できるようにしたいと思います。

<chart pollingperiod="12" param1="somevalue" param2="somevalue"></chart> 

これは、私のディレクティブがポーリングの責任を負うか、何らかの方法でこれらのパラメーターをコントローラーに渡してポーリングを設定する必要があることを意味すると思います。

4

2 に答える 2

0

これは、私がたどり着いた場所の非常にハッキングされたバージョンです。

    link: function($scope, element, attrs, controller){

        var count= 0;

        function updateChartData() {

        var poll = $timeout(function myFunction() {

                count++;
                $scope.output = "" + $scope.poll + ", " + count + ": " + Math.random();
                $scope.$apply();

                updateChartData();

        }, $scope.poll * 1000); //timeout in milliseconds

        $scope.$on('$destroy', function(e) { $timeout.cancel(poll); });
        };

        updateChartData();
    },

    scope: {
        title: "@",
        poll: "@"
    } 
}
于 2013-07-25T12:47:28.907 に答える