我有一个MEAN.JS应用程序。下面的代码是我的AngularJS控制器,它运行一个查询来检索MongoDB数据库中的所有文章。
公共/模块/物品/控制器/的 articles.client.controller.js 的
angular.module('articles').controller('ArticlesController', ['$scope', '$location', '$stateParams', 'Authentication', 'Articles',
function($scope, $location, $stateParams, Authentication, Articles) {
...
// Find a list of Articles
this.articles = Articles.query();
...
}
]);
上面的查询在下面的文件和代码中定义:
应用程序/控制器/的 articles.server.controller.js 的
exports.list = function(req, res) {
Article.find().sort('created').populate('user', 'displayName').exec(function(err, articles) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.jsonp(articles);
}
});
};
Articles.query()
似乎与exports.list
相关联。我希望Articles.query()
使用不同的导出,让我们说exports.anotherList
。我该如何改变?
我有一种感觉,我必须在文件app/routes/articles.server.routes.js
中以某种方式定义它,但我无法弄清楚如何使它工作。
感谢。我会接受帮助我解决这个问题的答案。
答案 0 :(得分:2)
有多种方法可以解决您的问题。像
Article
服务的查询操作(有关详细信息:Angular Resource)。然后在articles.server.routes.js
中为app.route('/articles/{new-path}').get(articles.anotherList)
定义一个路径(有关详细信息:Express Routing),并在articles.server.controller.js
中定义您的功能。OR
exports.list
exports.anotherList
重命名为app/routes/articles.server.routes.js
醇>
在articles.server.controller.js
中创建一个新功能
exports.anotherList = function(req, res) {
//Write your instructions here
};
还有其他方法。做你喜欢的事