为什么 TypeScript class 属性 未定义
Why TypeScirpt class property undefined
我有以下代码:-
class FeedbackController {
public homePage(req, res){
this.test();
res.send('Welcome to feedback service');
}
private test(){
console.log('test called');
}
}
export default new FeedbackController();
是这样叫的:-
import FeedbackController from '../controller/feedbackController';
const routes = (app) => {
app.route('/')
.get(FeedbackController.homePage);
};
export default routes;
我收到错误:-
TypeError: Cannot read property 'test' of undefined
怎么了
这不是 TS 问题,请检查 this
在 JS here 中的工作方式。
作为解决方案,将路由替换为
.get((req, res) => FeedbackController.homePage(req, res))
或
.get(FeedbackController.homePage.bind(FeedbackController))
我有以下代码:-
class FeedbackController {
public homePage(req, res){
this.test();
res.send('Welcome to feedback service');
}
private test(){
console.log('test called');
}
}
export default new FeedbackController();
是这样叫的:-
import FeedbackController from '../controller/feedbackController';
const routes = (app) => {
app.route('/')
.get(FeedbackController.homePage);
};
export default routes;
我收到错误:-
TypeError: Cannot read property 'test' of undefined
怎么了
这不是 TS 问题,请检查 this
在 JS here 中的工作方式。
作为解决方案,将路由替换为
.get((req, res) => FeedbackController.homePage(req, res))
或
.get(FeedbackController.homePage.bind(FeedbackController))