如何改变在打字稿/离子的任何文件的全局变量的值?

问题描述:

我是新来的打字稿。希望有一个变量可以在Ionic中的任何地方进行更改和检索。曾经看过一些全局变量的实现,但只找到了取得其他类/文件的值的示例。如何改变在打字稿/离子的任何文件的全局变量的值?

基本上,我想用来存储/检索的oauth2刷新令牌的价值。这会在每个API调用中频繁更改,并且也需要检索。

有没有办法迅速做到这一点?

在此先感谢。

如果你确实需要使用全球范围内再使用声明语句在全球范围内访问变量:

declare var test: any; 

class AnyThing { 
    changeTest(): void { 
     test = 'something'; 
    } 
} 

let at = new AnyThing(); 
at.changeTest(); 
console.log(test); 

但是,你常常可以使用其他方法在应用程序*享的变量,而不污染全球范围。 Angular/Ionic方法将创建一个服务,可以在任何可以更新或更改变量的位置注入该服务。 Check out the Angular docs for an example of a service

另一种简单的方法是使用的localStorage或sessionStorage的共享数据。

//Set the key 'test' to the value 'something' 
localStorage.setItem('test', 'something'); 

//Retreive the key 'test' 
localStorage.getItem('test'); 
+0

感谢您的建议。 localStorage是我正在寻找的!使用离子储存困难,但您的方法更简单。谢谢你。你是一个拯救生命的人! – pren