gpt4 book ai didi

javascript - AngularJS 改变注入(inject)的全局变量值

转载 作者:行者123 更新时间:2023-11-29 22:01:26 25 4
gpt4 key购买 nike

我有一个常量 app.constant('DOCUMENT_ID', window.documentId || 1);,我将其注入(inject)到服务、 Controller 和指令中。

我想将 DOCUMENT_ID 更改为全局变量,这样如果我在 Controller 中更改 DOCUMENT_ID 的值,我想在所有服务中获取更改后的值以及注入(inject)了 DOCUMENT_ID 的 Controller 。

如何以这种方式使用全局变量?

最佳答案

这里不需要全局变量(而且这是一种不好的做法)。只需利用对象通过引用传递的事实。例如,您可以使用这样定义的服务:

app.value('DOCUMENT', {
ID: window.documentId || 1
});

现在,无论何时您在任何地方更改 DOCUMENT.ID,应用程序的每个部分都将具有更新版本的 ID。就像对象属性一样阅读它。

演示:http://plnkr.co/edit/Oay8IaLRnuCN2xkSuM69?p=preview

关于javascript - AngularJS 改变注入(inject)的全局变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23536469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com