【问题标题】:Mean js - display updates in real timeMean js - 实时显示更新
【发布时间】:2015-06-06 02:10:16
【问题描述】:

我是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);
        }
    });

【问题讨论】:

  • 什么是更新?编辑-您可以发布一些代码或有关该问题的更多详细信息吗?就目前而言,这很难回答。谢谢。

标签: javascript meanjs


【解决方案1】:

我刚刚发布了angular-socket-resource。一旦您使用服务而不是手动执行 http 请求,您就可以使用它来自动侦听将更新您的本地数据的 socket.io 更新。

【讨论】:

    【解决方案2】:

    如果您指的是浏览器选项卡,mean.js 不会为您服务。您可以使用套接字通知服务器已进行更改,然后将消息广播到所有活动选项卡以刷新数据。您也可以尝试 window.blur/window.focus 事件来重新加载数据。

    如果您在同一页面上有产品列表和产品表单,您有两种选择:

    • 在您保存产品并从服务器接收到成功消息后,将保存的项目添加到您的本地集合中。

    • 保存产品并从服务器接收成功消息后更新本地集合(从服务器获取对象列表)。

    【讨论】:

    • 谢谢。你能找到一些使用 socket 和 mean js 的示例代码吗?
    • 我不知道,但我最喜欢的库是socket.io。这是教程:vexxhost.com/blog/mean-socket-io-integration-tutorial
    • 谢谢 Mike,这是一个很好的教程,但我遇到了一个错误“无法实例化模块 btford.socket-io”我使用 bower 安装了 angular-socket-io 'bower install angular-套接字-io'。你遇到过这样的错误吗?
    • \config\env\all.js - 在这里你需要添加你的依赖。然后在 angular 模块中注入依赖,应该是全部
    猜你喜欢
    • 2017-07-02
    • 1970-01-01
    • 1970-01-01
    • 2015-12-29
    • 2011-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-21
    相关资源
    最近更新 更多