Depends. Do you want the state to be saved even if the user leaves the site or reloads the page, or just while clicking around in Angular?
If you only want the second, which is honestly enough if you are just looking to speed up the site a bit, you can save the state in a service. Services only have one instance so if you save something in a service and access it later it will contain the same data. However, this is still just saved inside the javascript, so an actuall page refresh or leaving the site will drop it. See the answer here for more info.
If you want to persist for longer than that you need to use cookies or local storage. Angular has an extra plugin that you can download called angular-cookies that gives you the $cookies service to handle cookies. $cookies has some problems however, it does not allow you to set the path for the cookie, which makes it a no-go in several scenarios, and it does not handle local storage. So it might work for you, but you might need to create your own system for it or find someone else who has.