如何在 AngularJS & Express 中使用不同的导出?

How to use a different export in AngularJS & Express?

我有一个 MEAN.JS 应用程序。下面的代码是我的 AngularJS 控制器,它运行一个查询来检索我的 MongoDB 数据库中的所有文章。

public/modules/articles/controllers/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();

        ...
    }
]);

上面的查询在下面的文件和代码中定义:

app/controllers/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 中以某种方式定义它,但我不知道如何让它工作。

谢谢。我会接受帮助我解决这个问题的答案。

有多种方法可以解决您的问题。喜欢

  1. 在您的 articles.server.routes.js 中配置您的 Article 服务的新 URL 查询操作(详细信息:Angular Resource). Then define a route (for details: Express Routing),例如 URL 13=] 并在 articles.server.controller.js.
  2. 中定义您的功能

  1. 尝试在 app/routes/articles.server.routes.js
  2. 中将 exports.list 重命名为 exports.anotherList

articles.server.controller.js 中创建一个新函数,喜欢

exports.anotherList = function(req, res) {
    //Write your instructions here
};

可以有其他方式。随心所欲