2015-08-15 63 views
0

即時消息試圖做的是在URL中使用ArticleID,例如文章/ 55cf3ea22440c5542c9fa333作爲過濾相關注釋的參數。Mean.js - 使用URL作爲Mongoose參數

控制器

exports.list = function (req, res) { 

Comment.find(

    {articleID: req.params.articleId} 

) 
    .sort('-created') 
    .populate('user', 'displayName') 
    .exec(function (err, comments) { 

     if (err) { 

      return res.status(400).send({ 

       message: errorHandler.getErrorMessage(err) 
      }); 

     } else { 

      res.jsonp(comments); 
     } 
    }); 

};

評論和文章與帖子末尾的評論在同一頁上,就像在Stackoverflow上一樣。網址是http://localhost:3000/#!/articles/55cf3ea22440c5542c9fa333

有沒有在控制器查詢中使用這種簡單的方法?

路線

app.route('/articles/:articleId') 
    .get(articles.read) 
    .put(users.requiresLogin, articles.hasAuthorization, articles.update) 
    .delete(users.requiresLogin, articles.hasAuthorization, articles.delete); 

回答

1

如果您正在使用$ routeProvider作爲路由器,就可以使用這個訪問您的PARAM:

您的路線和param中的網址:

$routeProvider 
    .when('/:articleId', { //The parameter you want get(articleID) 
     templateUrl: 'views/article.html', 
     controller: 'ArticleCtrl' 
    }) 

在您的控制器中傳遞$ routeParams並獲取參數:

$routeParams.articleID 

編輯:

如果您正在使用$ stateProvider,你必須stateParams $進入你的控制器,並獲得PARAMS使用:

$stateParams.articleID 

我希望這是你所需要的。

+0

我最近的事情是$ stateProvider。這是一回事嗎? – user237462

+0

我編輯了我的帖子以回答你 – chalasr

+0

你可以在https://github.com/angular-ui/ui-router/wiki/URL-Routing找到如何使用路由的所有文檔。 – chalasr