これは何度も尋ねられたと確信していますが、私はそれを見つけることができません。それはここの午後10時30分です。私はちょうどあなたたちと一緒にこのままにしておきます!anglejsでタイムアウトを呼び出す
本質的に、私はjsonサーバーメソッドを2回呼び出しました。データの更新と新しい合計の取得です。論理的には、更新データが最初に呼び出され、$ totを介して通知が送信され、新しい合計が取得されます。残念ながら、サーバーコントローラーにブレークポイントを設定すると、SetAlertReadの前にGetAlertTotalsが呼び出されるため、間違ったデータが返されます。
'合計' のコードは、別のコントローラであり、それゆえ$パブリッシュ/サブスクライブ/放出:
$scope.$on('RefreshUnreadItemsCounter', function() {
$scope.alertCount = $scope.GetAlertCount();
$scope.alertTotals = $scope.GetAlertTotals();
$scope.$apply();
});
のデータは、以下の(部分)の定義と、uiGridである:
$scope.gridOptions.onRegisterApi = function (gridApi) {
$scope.gridApi = gridApi;
$scope.gridApi.core.notifyDataChange(uiGridConstants.dataChange.EDIT);
$scope.gridApi.selection.on.rowSelectionChanged($scope, function (row) {
var authorisationToken = $('input[name="__RequestVerificationToken"]').val();
row.entity.AlertSeen = true;
$scope.message = row.entity.Message;
$http({
url: '/Alerts/SetAlertRead',
contentType: "application/json; charset=utf-8",
method: 'POST',
data: { rowId: row.entity.UserAlertsId },
headers: { '__RequestVerificationToken': authorisationToken }
});
$scope.$emit('RefreshUnreadItemsCounter');
});
ユーザーは行をクリックしてその行に関連付けられたデータを表示し、それを読み取り、jsonコール(/Alert/SetAlertRead
)を介してデータ更新をトリガーします。私はjson呼び出しを実行する約束の時間を与えるために$ emit呼び出しの前にタイムアウトを設定すると仮定していますが、どうすればよいか分かりません。
助けてください!あなたが気にしないなら、できるだけ多くのコードを必要とします!再度、感謝します。
ありがとうございますAndriy - 完全な明快さで問題を修正しました。私は十分な質問をまだしていないので、あなたの答えをアップアップすることはできません...私は2年しか登録されていません... – Jerry