使Javascript对象全局可用
我想知道如何使JavaScript对象全局可用 我有一个Angular服务,需要从中访问存储为环境变量的公共API密钥。我的计划是在使Javascript对象全局可用,javascript,angularjs,Javascript,Angularjs,我想知道如何使JavaScript对象全局可用 我有一个Angular服务,需要从中访问存储为环境变量的公共API密钥。我的计划是在顶部做一个javascript声明,如下所示: <script> MySite.settings = { PublishableKey = [here I retreive the env variable] } </script> 但是我得到一个错误,MySite没有定义 有什么建议吗?好吧,你实际上并没有定义
顶部做一个javascript声明,如下所示:
<script>
MySite.settings = {
PublishableKey = [here I retreive the env variable]
}
</script>
但是我得到一个错误,MySite
没有定义
有什么建议吗?好吧,你实际上并没有定义MySite,只是它的一个属性。请尝试以下方法:
<script>
var MySite = {
settings : {
PublishableKey : 'some_key'
}
};
</script>
变量MySite={
设置:{
PublishableKey:'some_key'
}
};
请注意,我使用了
:
而不是=
来设置属性;这是正确的语法。好吧,你实际上并没有定义MySite
,只是它的一个属性。请尝试以下方法:
<script>
var MySite = {
settings : {
PublishableKey : 'some_key'
}
};
</script>
变量MySite={
设置:{
PublishableKey:'some_key'
}
};
请注意,我使用了
:
而不是=
来设置属性;这是正确的语法。这很有效。为什么在MySite
之后使用=
,而在设置之后使用:
?settings
不是MySite
的属性吗?我们需要使用:
来设置属性?@MikeC使用MySite=
,我正在设置一个变量。使用{foo:'bar'}
,我正在初始化一个属性。两者只是使用不同的语法。顺便说一下,请记住接受这个答案!:)非常感谢。学到了一些新东西。如果你把它改成一个明确定义的全局变量,你会得到我的支持。这很有效。为什么在MySite
之后使用=
,而在设置之后使用:
?settings
不是MySite
的属性吗?我们需要使用:
来设置属性?@MikeC使用MySite=
,我正在设置一个变量。使用{foo:'bar'}
,我正在初始化一个属性。两者只是使用不同的语法。顺便说一下,请记住接受这个答案!:)非常感谢。学到了一些新东西。如果您将此更改为显式定义的全局,您将获得我的支持。