我有一个常量 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。就像对象属性一样阅读它。
关于javascript - AngularJS 改变注入(inject)的全局变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23536469/