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

时间:2015-03-27 14:00:11

标签: angularjs mean-stack meanjs

我有一个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中以某种方式定义它,但我无法弄清楚如何使它工作。

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

1 个答案:

答案 0 :(得分:2)

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

  1. 为新网址配置Article服务的查询操作(有关详细信息:Angular Resource)。然后在articles.server.routes.js中为app.route('/articles/{new-path}').get(articles.anotherList)定义一个路径(有关详细信息:Express Routing),并在articles.server.controller.js中定义您的功能。
  2. OR

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

      articles.server.controller.js中创建一个新功能

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

      还有其他方法。做你喜欢的事