I\'m trying to figure out a way to keep my angular
variables with page refresh / across controllers. My workflow is,
use `localStorage.setItem("key",value);` to set the value.
use `localStorage.getItem("key");`to get the value.
use `localStorage.clear();`to clear the value which is set
you can use cookies
To put simple variable
$cookies.put('user', 'abc');
To save object
$cookies.putObject('objSocket', anyObject);
and to get back data from cookies use
$cookies.getObject('objSocket');
and
$cookies.get('user');
To use above code cookies.js cdnjs is :
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.0-rc.0/angular-cookies.min.js"></script>
Now inject $cookies
into your controller and ngCookies
into your app.js
for more detail https://docs.angularjs.org/api/ngCookies
When you refresh a page all your JavaScript context is lost (including all data saved in variables).
One way to maintaing information from one session to another is to use the browser's localStorage. In your case, you probably want to check ngStorage.
I did the same using $window.localStorage.
It is kind of similar to accepted answer.
var token = "xxx";
$window.localStorage.setItem("token",token);
$window.localStorage.getItem("token"); //returns "xxx"
$window.localStorage.removeItem("token"); //deletes token
You can use localStorage
. It is really easy to use.
var token = "xxx";
localStorage.setItem("token", token);
localStorage.getItem("token"); //returns "xxx"