如何让具有相同URL的AngularJS路由命中不同的控制器功能?

时间:2017-09-06 16:27:30

标签: javascript angularjs node.js mongodb

非常困惑,不确定我是否正确地思考它。请让我知道我需要展示的其他内容才有意义......

我在mongoose中有两个不同的功能。一个索引所有列表和其他索引唯一用户列表,并在我的mongoose函数中过滤。但是,在我的路线中,如果$ http url是相同的,如何在我的个人资料页面上点击唯一功能?

//From server.js to controllers
app.get('/api/listings', controllers.listings.index);

//all listings shown on home page
function index (req, res) {
  db.Listing.find({}, function(err, allListings) {
    res.json(allListings);
  });
}

//From server.js to controllers
app.get('/api/listings/', auth.ensureAuthenticated, controllers.profiles.indexUnique);

//unique function that I want to show on profile page only
function indexUnique(req, res) {
  db.User.findById(req.user, function (err, user) {
    if (err) {console.log(err);}
    db.Listing.find({uid: req.user}, function(err, listings) {
      if(err) { console.log('Error', err); }
      res.json(listings);
    });
  })
}

如果网址路径相同,如何调整我的http请求以达到我的唯一功能?

// Angular http request in my home controller
  $http({
    method: 'GET',
    url: '/api/listings'
  }).then(function successCallback(response) {
    vm.listings = response.data;
  }, function errorCallback(response) {
    console.log('Error getting data', response);
  });

1 个答案:

答案 0 :(得分:0)

你可以对角度作为服务进行过滤,并保留两个独立的对象数组