2015-04-01 112 views
2

我是meanjs的新手,我剛剛創建了一個用於添加產品的新模塊。這些產品顯示在主頁上。但主頁中的顯示沒有更新real time。我只是在一個選項卡中添加了新產品,並且需要刷新其他選項卡中的產品列表以查看更改。這怎麼可以在real time平均值js - 實時顯示更新

編輯:

通過更新用我的意思是,當過一個新的記錄被添加到數據庫中,產品展示應該實時更新。現在我需要刷新頁面以查看新添加的產品。 我的代碼是

客戶

 $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); 
     } 
    }); 
+1

什麼是更新?編輯 - 你可以發佈一些你的代碼,或者一些更詳細的問題?這很難回答。謝謝。 – jammypeach 2015-04-01 12:34:20

回答

2

如果你的意思是瀏覽器標籤,mean.js不會,如果FO你怎麼做。您可以使用套接字通知服務器進行了更改,然後向所有活動選項卡廣播消息以刷新數據。您也可以嘗試window.blur/window.focus事件來重新加載數據。

如果你的產品,在同一頁上的產品形式列表中,你有兩個選擇:

  • 添加保存項目到您的本地收藏保存poduct和服務器recive成功的消息後。

  • 保存poduct並從服務器收回成功消息後,請更新本地集合(從服務器獲取對象列表)。

+0

謝謝。你可以找到一些使用平均值js的套接字的示例代碼嗎? – 2015-04-02 07:35:07

+1

我不,但我最喜歡的lib是http://socket.io/。這裏是教程:https://vexxhost.com/blog/mean-socket-io-integration-tutorial/ – Mike 2015-04-02 08:43:31

+0

感謝邁克,這是一個很好的教程,但我堅持一個錯誤'無法實例化模塊btford.socket- io'我使用bower'bower install angular-socket-io'安裝了angular-socket-io。你有這樣的錯誤嗎? – 2015-04-02 11:42:28

0

我剛剛發佈angular-socket-resource。一旦使用服務而不是手動執行http請求,您可以使用它來自動偵聽將更新本地數據的socket.io更新。