我有一个快速的 javascript 问题。
假设我有 RootFile.js
import UserApi from './UserApi'
export default class RootFile {
get userApi() {
return UserApi;
}
};
然后我得到了 UserApi.js
import Auth from './auth';
import Profile from './profile';
const merged = {
...new Auth,
...new Profile
}
export default merged;
然后我得到了单独的功能文件,如auth.js
或 profile.js
。
auth.js
export default class Auth{
authLog(){
console.log("DONE");
//Gotta find a way to run this.
}
}
profile.js
export default class Profile{
profileLog(){
console.log("DONE");
//Gotta find a way to run this.
}
}
现在我希望能够调用:
import RootFile from './RootFile'
RootFile.userApi.profileLog();
//and
RootFile.userApi.authLog();
我无法让它工作,RootFile.userApi
是 object
的类型,但是 authLog
是 undefined
。
我做错了什么?
最佳答案
我最终做了以下事情:
我的 RootFile.js
现在看起来像这样:
import UserApi from './UserApi'
export default class RootFile {
get userApi(){
return UserApi;
}
};
我摆脱了 get
因为@Tim 说他们没有那么高效。
然后我的 UserApi.js
现在看起来像这样:
import * as Auth from './auth';
import * as Profile from './profile';
const merged = {
...Auth,
...Profile
}
export default merged;
不再有新的
。
然后我得到了单独的功能文件,如auth.js
或 profile.js
。
auth.js
export function authLog(){
console.log("auth test ");
},
export default auth;
profile.js
export function profileLog(){
console.log("profile test ");
}
export default profile;
所以没有更多的类(class),正如@Bergi 所建议的那样。
现在我可以打电话了:
import RootFile from './RootFile'
RootFile.userApi.profileLog();
//and
RootFile.userApi.authLog();
谢谢大家的回答,但毕竟我会这样做,效果很好。
关于javascript - 如何将多个 javascript 类中的函数组合到一个对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36480648/