使Javascript对象在全局可用

Make a Javascript object available globally

本文关键字:全局 Javascript 对象      更新时间:2023-09-26

我想知道如何使JavaScript对象全局可用。

我有一个Angular服务,我需要从中访问一个作为环境变量存储的公共API密钥。我的计划是在<body>的顶部做一个javascript声明,像这样:

<script>
  MySite.settings = {
    PublishableKey = [here I retreive the env variable]      
  }
</script>

在Angular服务中,我想我可以这样访问这个值:

...
key: MySite.settings.PublishableKey
...

但是我得到一个错误,MySite没有定义。

有什么建议吗?

其实你并没有定义MySite,只是它的一个属性。试试这个:

<script>
    var MySite = {
        settings : {
            PublishableKey : 'some_key'
        }
    };
</script>

注意,我使用:而不是=来设置属性;这是正确的语法