使用Meetup的MEAN stack应用程序.api -“聚会”.getCategories不是一个函数
MEAN stack app using Meetup.api - "Meetup.getCategories is not a function"?
我在我的节点应用程序中使用Meetups.com API,我试图返回所有事件类别的JSON列表,但Angular一直返回," Angular .js:13708 TypeError: Meetup。getCategories不是一个函数"
这是我的事件页面控制器:
angular
.module("Londate")
.controller("EventsController", EventsController);
EventsController.$inject = ["$state", "TokenService", "$rootScope", "Meetup"];
function EventsController($state, TokenService, $rootScope, Meetup) {
var self = this;
this.mapCenter = { lat: 51.5, lng: -0.1 };
this.category = 1;
this.allCategories = [];
this.all = [];
navigator.geolocation.getCurrentPosition(function(position) {
$rootScope.$evalAsync(function() {
self.mapCenter = {
lat: position.coords.latitude,
lng: position.coords.longitude
}
self.getEvents();
});
});
this.getEvents = function() {
Meetup.getEvents({
lat: self.mapCenter.lat,
lng: self.mapCenter.lng,
category: self.category
})
.then(function(events) {
console.log("EVENTS: " + events);
self.all = events;
})
}
this.getCategories = function() {
Meetup.getCategories({
name: self.name
})
.then(function(categories){
console.log("CATEGORIES: " + categories);
self.allCategories = categories;
})
}
self.getCategories();
}
和后台的meeup .js控制器:
var request = require('request-promise');
function getEvents(req, res) {
request.get({
url: "https://api.meetup.com/2/open_events",
qs: {
key: process.env.MEETUP_API_KEY,
lat: req.query.lat,
lon: req.query.lng,
category: req.query.category,
radius: req.query.radius || 1,
sign: true
},
json: true
})
.then(function(response) {
res.status(200).json(response.results);
console.log(response);
})
.catch(function(err) {
console.log(err);
res.status(500).json(err);
})
}
function getCategories(req, res) {
request.get({
url: "https://api.meetup.com/2/categories",
qs: {
key: process.env.MEETUP_API_KEY,
name: req.query.name,
sign: true
},
json: true
})
.then(function(response) {
res.status(200).json(response.results);
console.log(response);
})
.catch(function(err) {
console.log(err);
res.status(500).json(err);
})
}
module.exports = {
getEvents: getEvents,
getCategories: getCategories
}
和前端的meetup.js服务:
angular
.module("Londate")
.service("Meetup", Meetup)
Meetup.inject = ["$http"];
function Meetup($http) {
this.getEvents = function(params) {
return $http({
method: "GET",
url: "/api/meetups",
params: params
})
.then(function(res) {
return res.data;
});
};
}
谢谢!
解决!我忘记在服务中包含getCategories,如下所示:
angular
.module("Londate")
.service("Meetup", Meetup)
Meetup.inject = ["$http"];
function Meetup($http) {
this.getEvents = function(params) {
return $http({
method: "GET",
url: "/api/meetups/events",
params: params
})
.then(function(res) {
return res.data;
});
};
this.getCategories = function() {
return $http({
method: "GET",
url: "/api/meetups/categories"
})
.then(function(res) {
return res.data;
});
}
}
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 如何在JavaScript中将字符串转换为函数引用
- 用嵌套函数和默认函数定义函数
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- JQuery合并了keyup和focusout两个函数
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- 我可以在json对象中添加一个函数吗
- AngularJS:我可以跳过函数参数回调吗
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- jquery点击函数select&取消选择
- 拨打'父亲'函数形式a'儿童'ReactJS中的组件
- Node.js v6.2.0类扩展不是函数错误
- 比较从函数和生成的日期对象
- jQuery中是否内置了任何字符串格式化函数
- 使用Meetup的MEAN stack应用程序.api -“聚会”.getCategories不是一个函数