为了账号安全,请及时绑定邮箱和手机立即绑定

es6关于在constructor中new对象为属性的问题,报错

es6关于在constructor中new对象为属性的问题,报错

阿晨1998 2018-10-16 13:15:18
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);
}


查看完整回答
反对 回复 2018-11-01
  • 1 回答
  • 0 关注
  • 861 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号