我是meanjs
的新手,我刚刚创建了一个用于添加产品的新模块。这些产品显示在主页中。但主页中的显示未更新real time
。我刚刚在一个选项卡中添加了新产品,并且需要刷新另一个选项卡中的产品列表以查看更改。如何在real time
?
编辑:
通过更新,我的意思是,当数据库中添加了新记录时,产品显示应该实时更新。现在我需要刷新页面才能看到新添加的产品。 我的代码是
客户端
$http.get('/latestproducts').
success(function(data, status, headers, config) {
$scope.latestproducts = data;
})
服务器
exports.getlatestProducts = function(req, res) {
Product.find().sort('-created').populate('user', 'displayName').exec(function(err, products) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.jsonp(products);
}
});
答案 0 :(得分:2)
如果您的意思是浏览器标签,那么对于您来说,mean.js是不行的。您可以使用套接字通知服务器已进行更改,然后将消息广播到所有活动选项卡以刷新数据。您还可以尝试使用window.blur / window.focus事件重新加载数据。
如果您在同一页面上有产品和产品表单列表,则有2个选项:
从服务器保存poduct并重新接收成功消息后,将保存的项目添加到本地集合中。
从服务器保存poduct并重新接收成功消息后,更新本地集合(从服务器获取对象列表)。
答案 1 :(得分:0)
我刚刚发布了angular-socket-resource。一旦您使用服务而不是手动执行http请求,您可以使用它来自动侦听将更新本地数据的socket.io更新。