我在mean.io处使用MEAN堆栈开始使用node / express / Angular。
我不明白Angular控制器如何调用快速控制器来获取数据。
我拥有的是public / js / controllers / index.js:
angular.module('mean.system').controller('IndexController', ['$scope', 'Global', 'Tabs',
function ($scope, Global, Tabs) {
$scope.global = Global;
Tabs.query(function(tabs) {
$scope.tabs = tabs;
});
}]);
但我很困惑究竟是什么'Tabs'。我知道,不知何故,神奇地,最终这个方法被调用 - 我认为这是Express控制器? 应用程序/控制器/ tabs.js:
exports.all = function(req, res) {
Tab.find().sort('artist').select("-content").populate('user').exec(function(err, tabs) {
if (err) {
res.render('error', {
status: 500
});
} else {
res.jsonp(tabs);
}
});
};
但我不明白它是如何被调用的。我想要做的是在app / controllers / tabs.js中调用另一种方法 - 即:
exports.newest = function(req, res) {
Tab.find().sort('-created').limit(10).select("-content").exec(function(err, tabs) {
...
但我不明白如何使用快速控制器“连接”AngularJS控制器。
即。我该怎么做才能在控制器中做到这样的事情:
angular.module('mean.system').controller('IndexController', ['$scope', 'Global', 'Tabs',
function ($scope, Global, Tabs) {
$scope.global = Global;
Tabs.newest(function(tabs) { // this won't work
$scope.tabs = tabs;
});
}]);
答案 0 :(得分:0)
在MEAN中,Articles服务是一个角度服务,它返回您通常可以在public / js / services文件夹中找到的$ resource对象。
$ resource是angularjs附带的$ http AJAX服务的包装器,如果您的REST服务是以特定方式构建的,它可以让您与RESTful端点连接。
与node.js控制器的连接使用在config文件夹中找到的routes.js对象进行,该对象将路由绑定到特定的模块方法。
进一步阅读: