我有带功能的打字稿功能
GetOne<T>(predicate: (e: T) => boolean): T;
var user = GetOne<IUser>(a => a.Id === this.id);
谓词toString()返回&#34;函数(a){return a.Id === _this.id; }&#34;
我如何从&#34; _this.id&#34;中获得价值? ?
我想从函数信息中创建一个breezejs Predicate ...
由于
答案 0 :(得分:0)
在TypeScript / ES6箭头函数中,这是指类的实例。所以你可以使用yourInstance.id获取id。
答案 1 :(得分:0)
本守则
GetOne<T>(predicate: (e: T) => boolean): T;
var user = GetOne<IUser>(a => a.Id === this.id);
等于
GetOne<T>(predicate: (e: T) => boolean): T;
var self = this;
var user = GetOne<IUser>(function(a){ return a.Id === self.id });
如果您的问题是如何获得这个(例如用户)的任何名称函数(a)...可能会被调用
predicate.call(user);
// or
predicate.apply(user);
然后你必须重写你的代码
GetOne<T>(predicate: (e: T) => boolean): T;
var user = GetOne<IUser>(function(a){ return a.Id === this.id });