Getter属性(只读属性)在运行时无法访问 - (ES6)

时间:2016-05-06 00:10:23

标签: typescript ecmascript-6

我没有在运行时获得只读属性。实际上我是从客户端发送PageContext对象的。 Node Web服务器(Expressjs)请求未收到只读属性。

让我知道如何解决此问题。

/*Assume AppConfig.DefaultPageSize is 50;*/

export class PageContext {
    public PageSize: number;
    public PageNumber: number;
    public get Limit(): number {
        return this.PageSize === 0 ? AppConfig.DefaultPageSize : this.PageSize;
    };
    public get Offset(): number {
        return (this.PageNumber - 1) * this.PageSize;
    };
}

Express JS路由器代码

router.post('/', (req: Request, res: Response, next: NextFunction): any => {
    let service = ServiceFactory.CreateService(UserService);
    service.GetAllUsers(req.body)
        .then((response) => {
            res.send(response);
        });
});

服务代码

GetAllUsers(req: Request<string, string>): Promise<Response<Array<any>>> {
    let users = this.userBo.GetAllUsers(req.PageContext);
    return this.GetResponse(users, req.PageContext);
}

enter image description here

1 个答案:

答案 0 :(得分:0)

  

我没有在运行时获得只读属性

纯粹是调试环境的工件。你可以在运行时使用它。尝试在调试控制台中输入。

E.g。我的Chrome中的V8:

enter image description here

代码:

class Foo { get bar() { return 123 } }; var foo = new Foo(); console.log(foo.bar);
相关问题