誰でも、ある時間間隔の後にng-repeatを再実行するのを手伝ってください。 私はしばらくの間、配列を持っており、私はいくつかのサーバー時間と比較しています。しばらくしてから、私は手動でアレイを繰り返してください。角度jsでng-repeatを再実行するには
$scope.list = {
"SERVER_DATE_TIME": "2016-05-16T10:04:36.318-05:00",
"list": [{
"displayDate": "2016-05-16T10:03:36.318-05:00",
"pageId":"1"
}, {
"displayDate": "2016-05-16T10:02:36.318-05:00",
"pageId":"2"
}, {
"displayDate": "2016-05-16T10:01:36.318-05:00",m
"pageId":"3"
}]
}
HTML:
<div class="list" ng-repeat="list in newsList track by list.pageId">
<span elapsed-time data-datetime="list.displayDate"> </span>
</div>
Javascriptを:
$interval(function() {
// update "SERVER_DATE_TIME" and re run
$scope.list = angular.copy($scope.list);
}, 1000 * 5 * 60);
ので、経過時間ディレクティブでは、時間の差分を示すSERVER_DATE_TIME
と表示日付を比較しています。
$$hashKey
が利用可能であるため、トラックを挿入しないとうまくいきます。しかし、もし私がlist.pageId
でトラックを入れたら、は配列に存在せず、再実行は起こっていません。
私はこの作業を手伝ってください。あなたはあなただけの$ scope.listと角度を更新する必要があります..データ上で「繰り返しますが」する必要はありません
AngularJSは、データがスコープ内で変更されると、データを自動的に「再反復」します。 – d4rty
ところで、scope.list変数を定義するには、list.listにループする必要がありますか? scope.listがループしている配列であることを確認してください。サーバーからの結果を解析し、値の配列をscope.listに直接コピーできます。 – MiltoxBeyond
Ya、list.listのみを使用しています、ここではそのタイプミスです。ユーザーがサービスを呼び出すまで、データは同じままです。しかし、一定の時間間隔で私は時間を更新する必要があります – user2587222