我知道我可以用s ocket.io
或SSE
甚至$ interval
来解决它,但是我不想使用所有这些,因为我听说过简单的解决方法这个。
我的问题是,当我在一个浏览器选项卡中编辑某些内容时,同时调用GET方法并向我显示最新更改-很好!
但是我想看到我为同一页面打开的所有选项卡都具有相同的最新更改,而无需刷新或重新加载。
当前所做的更改反映在同一页面上,但我没有刷新,但是如果我不刷新那些选项卡,它不会更改其他选项卡。
您可以使用我的GET
方法:
$scope.getAllContact = function() {
var data = $http.get("http://127.0.0.1:8000/api/v1/contact")
.then(function(response) {
$scope.contacts = response.data;
}, function(response) {
});
};
$scope.getAllContact();
这是我对PUT
方法的编辑/更新功能:
$scope.updateContact = function (contact) {
$http.put('http://127.0.0.1:8000/api/v1/contact/update/' + $scope.clickedContact.id + '/?=format=json', $scope.clickedContact)
.then(function(response){
$scope.successEdit = 'You have updated the contact successfully';
$scope.getAllContact(); // this function will make sure to reload the page after edit successfull
}, function(response){
var errorData = 'an error occured';
});
};
在我编辑后,上面的代码片段确实很有效地获得自动GET请求,但是它仅限于同一选项卡,我希望最新的更改也应该反映在其他选项卡中,而无需进行任何刷新。...
我在angularJS中是一个非常新的东西,却没有对此进行存档。
请不要建议我socket io
,SSE
或$ interval