import UserService from './UserService';export default class Controller { constructor() { this.userService = new UserService(); //初始化service } login(req, res, next) { var user = {'account': 'zhangsan', 'pwd': '123'}; this.userService .login(user) .then((result)=>{ // console.log(result); res.json(user); }) .catch((error)=>{ console.log(error); }); }}报错如下而如果我把new UserService()去掉,改为在login里 new UserService().login(user)就没有问题,但是却似乎违反了面向对象的原则。 我目的是想实现初始化的时候只有一个控制器和一个UserService,而不是每次登陆都要new一个UserService出来。请求高玩指点迷津!附:给予看到此贴的朋友结果为this指向问题,可参考https://segmentfault.com/q/10...
1 回答

郎朗坤
TA贡献1921条经验 获得超9个赞
可能是this 丢失了,试试
constructor() { this.userService = new UserService(); this.login = this.login.bind(this); }
添加回答
举报
0/150
提交
取消