Javascript 如何在js中对根对象执行getter?
在JavaScript中,如何在根级别对对象执行getter操作 我的意思是如何为此对象创建getter:Javascript 如何在js中对根对象执行getter?,javascript,typeorm,Javascript,Typeorm,在JavaScript中,如何在根级别对对象执行getter操作 我的意思是如何为此对象创建getter: const userModel = { get() { return { foo: true, ... }; } } 并通过userModel.foo;//正确。代码为我提供了userModel.get()…,这不是我所需要的 想法是在访问userModel时调用get 可以用js吗 我正在使用TypeForm库,我有一些模型,例如用户模型 typeorm可以使用以下语法使用此
const userModel = {
get() { return { foo: true, ... }; }
}
并通过userModel.foo;//正确
。代码为我提供了userModel.get()…
,这不是我所需要的
想法是在访问userModel
时调用get
可以用js吗
我正在使用TypeForm库,我有一些模型,例如用户模型
typeorm可以使用以下语法使用此模型:
import { getConnection } from 'typeorm';
const b = await getConnection().getRepository(User).findOne({...})...
现在,我想创建一个UserModel来实现这一点:
getConnection().getRepository(User)
作为:
因此,我可以将其用作:
userModel.findOne({...});
我不能只使用:
export const userModel = getConnection().getRepository(User);
由于连接尚未初始化,因此会引发错误。请确保正确定义getter:
const userModel={
get foo(){return{foo:true};}
}
console.log(userModel.foo)
是的,可以使用:
const getConnection=(model)=>({
getRepository:(模型)=>{
返回{findOne:()=>(model)}
}
});
常量用户={
//…用户模型,
姓名:“乔恩·史密斯”
}
类代理模型{
建造师(模型){
this.model=模型;
返回新代理({},{get:(函数(目标,名称){
const repo=getConnection().getRepository(此);
if(回购协议中的名称){
返回回购[名称];
}
}).bind(this.model)})
}
}
const userModel=新代理模型(用户);
log(userModel.findOne())代码>是的,这是可能的,但是它需要一些不推荐的黑客,所以不,你不想这样。你想做什么?我编辑了我的问题“因为连接还不是初始的,所以它会给我一个错误。”错误是什么?嗨,可以使用代理,请看我的答案。不,我说的想法是调用userModel的getter。getter不是用于foo方法的。你能用一段你想要实现的东西来详细说明一下吗?@AadilMehraj我相信OP想要的是当userModel
被分配时,它将调用get方法。有点像酒吧/酒吧
export const userModel = getConnection().getRepository(User);