我想知道如何使JavaScript对象全局可用。
我有一个Angular服务,我需要访问存储为环境变量的公共API密钥。我的计划是在<body>
的顶部做一个javascript声明,如下所示:
<script>
MySite.settings = {
PublishableKey = [here I retreive the env variable]
}
</script>
在Angular服务中,我认为我可以通过执行以下操作来访问该值:
...
key: MySite.settings.PublishableKey
...
但我收到MySite
未定义的错误。
有什么建议吗?
答案 0 :(得分:6)
嗯,你实际上并没有定义MySite
,只是它的一个属性。试试这个,而不是:
<script>
var MySite = {
settings : {
PublishableKey : 'some_key'
}
};
</script>
请注意,我使用:
代替=
来设置属性;这是正确的语法。