我要创建环境对象,如下所示:
export const environment =
{
production: false,
hmr : false,
api: {
auth: {
protocol: 'http',
host: 'localhost',
port: '8083',
api_path: 'api',
version: {
path: 'v',
major: 1,
minor: 0,
patch: 0,
},
url: this.api.auth.protocol + '://' + this.api.auth.host + ':' + this.api.auth.port,
controllers: {
auth: {
service_name: 'auth',
base_url: this.api.auth.url + '/' + this.api.auth.controllers.auth.service_name + '/'
+ this.api.auth.api_path + '/' + this.api.auth.version.path + '/'
+ this.api.auth.version.major + '.' + this.api.auth.version.minor + '.' + this.api.auth.version.patch + '/',
refresh_token_url: this.api.auth.controllers.auth.base_url + '/refresh_token',
login_url: this.api.auth.controllers.auth.base_url + '/login',
logout_url: this.api.auth.controllers.auth.base_url + '/logout'
}
}
}
}
};
我想访问同一对象中先前分配的值。就像我想以“ this.api.auth.protocol”的方式访问“ api.auth.url”中的“ api.auth.protocol”一样,以便可以从api.auth.host和api.auth中制作http://localhost:8083 。协议。但是我无法访问“ api.auth.url”中的“ api.auth.protocol”。编译后错误显示为“ Uncaught TypeError:无法读取未定义的属性'api'”。如何从同一对象访问先前的对象值?
我是这个领域的新手。抱歉,我问的是愚蠢的问题。
答案 0 :(得分:3)
不,您不能在初始化程序中执行此操作。
拉出protocol
到外部变量。
export const protocol = "http";
,然后在初始化程序的两个或多个位置使用变量/ const。