我有两条护照路线,要求我有两个不同的回叫网址。
现在,在我的配置文件中,我决定要使用的网址
将此视为对象
const intialconfig = {
socialUrl: false,
FACEBOOK_REDIRECT_URL: socialCalculator(facebook),
}
社交计算器看起来像这样
const socialCalculator = (service) => {
return config.socialUrl ? service.redirect_url_social : service.redirect_url_auth
}
在在线尝试虚拟片段时,我确定这将返回未定义。
另一方面,它不会返回可能返回undefined
const intialconfig = {
socialUrl: false,
FACEBOOK_REDIRECT_URL: function () {
return this.socialUrl ? facebook.redirect_url_social : facebook.redirect_url_auth
},
}
但是然后我必须为每一个看起来很干燥的服务创建一个函数。
谁能帮助我找到访问对象内部对象的最佳方法
答案 0 :(得分:0)
要使第一个示例工作,必须先定义socialCalculator,然后还移交配置对象:
const socialCalculator = (service, config) => {
return config.socialUrl ? service.redirect_url_social : service.redirect_url_auth
}
const intialconfig = {
socialUrl: false,
FACEBOOK_REDIRECT_URL: socialCalculator(facebook, this),
}
但是正如已经提出的,在这里上课可能是一种更清洁的方法。