AngularJS改变注入的全局变量值

时间:2014-05-08 08:23:33

标签: javascript angularjs

我有一个常量app.constant('DOCUMENT_ID', window.documentId || 1);,我将其注入服务,控制器和指令。

我想将DOCUMENT_ID更改为全局变量,这样如果我在控制器中更改DOCUMENT_ID的值,我想在所有服务和控制器中获取更改的值{{注入1}}。

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

1 个答案:

答案 0 :(得分:2)

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

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

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

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