ブラウザå´ã«æƒ…å ±ã‚’å–ã£ã¦ãŠã手段ã¨ã—ã¦localStorageãŒã‚りã¾ã™ã€‚ 昔ã¯cookieを使ã£ã¦ã„ãŸã“ã¨ãŒå¤šãã€ä»Šã§ã‚‚ã¾ã よã使ã‚れã¦ã„ã‚‹ã®ã§ã™ãŒã€ モダンブラウザ対応ãªã‚‰localStorageã®æ–¹ãŒé©ã—ã¦ã„ã‚‹ã®ã§ã¯ãªã„ã‹ã¨æ€ã„ã¾ã™ã€‚
以å‰ã€JavaScript nativeã§localStorageを使ã†ã‚³ãƒ¼ãƒ‰ã¯æ›¸ã„ãŸã“ã¨ãŒã‚ã£ã¦ã€ 別ã«ä¸æº€ã¯ãªã‹ã£ãŸã®ã§ã™ãŒã€Angularã§localStorageã‚’ç°¡å˜ã«æ‰±ãˆã‚‹ãƒ©ã‚¤ãƒ–ラリãŒã‚る㨠æ€ã£ã¦èª¿ã¹ã¦ã¿ã¾ã—ãŸã€‚
- https://github.com/grevory/angular-local-storage Staræ•° 1691
- https://github.com/agrublev/angularLocalStorage Staræ•° 324
- https://github.com/gsklee/ngStorage Staræ•° 1195
ã“ã®ã‚ãŸã‚ŠãŒãƒ¡ã‚¸ãƒ£ãƒ¼ãã†ã§ã™ã€‚é †å½“ã«è¡Œãã¨Staræ•°ãŒä¸€ç•ªå¤šã„angular-local-storageã‚’é¸ã¶ã®ã§ã™ãŒã€ ã˜ã£ãりREADMEã‚’èªã‚“ã§ã¿ã¾ã™ã€‚APIã¯è‡ªæ˜Žã§åˆ†ã‹ã‚Šã‚„ã™ã„ã§ã™ã€‚bindã¯angularãªã‚‰ã§ã¯ã®APIã§ä¾¿åˆ©ãã†ã§ã™ã€‚ localStorageãŒä½¿ãˆãªã„å ´åˆã¯cookieã«fallbackã™ã‚‹ãã†ã§ã™ã€‚APIã¯æŠ½è±¡çš„ã«ä½œã‚‰ã‚Œã¦ã„ã‚‹ã¨ã„ã†ã“ã¨ã§ã™ã。
ã•ã¦ã€2ã¤ç›®ã®angularLocalStorageã¯ã©ã†ã§ã—ょã†ã€‚åå‰ãŒä¼¼ã¦ã„ã¾ã™ãŒåˆ¥ç‰©ã§ã™ã€‚ bindã‚‚ã‚ã‚‹ã—APIもシンプルã§åˆ†ã‹ã‚Šã‚„ã™ã„ã§ã™ã€‚cookieã¸ã®fallbackã‚‚ã‚ã‚‹ãã†ã§ã™ã€‚ angular-local-storageã¨æ¯”較ã™ã‚‹ã¨è‹¥ã„分ã€Staræ•°ãŒå°‘ãªã„ã ã‘ã§ã—ょã†ã‹ã€‚issueも処ç†ã•れ㦠アクティブã«è¦‹ãˆã¾ã™ã€‚ã§ã‚‚é•ã„ãŒãªã„分ã€ãƒ‰ã‚ュメントãŒå……実ã—ã¦ã„ã‚‹angular-local-storageã‚’é¸ã³ãŸããªã‚Šã¾ã™ã€‚
最後ã®ã€ngStorageã¯ã€in the Angular Wayã¨ã„ã†ã“ã¨ã§å°‘ã—変ã‚ã£ãŸæ„Ÿã˜ã§ã™ã€‚
No Cookie Fallback - With Web Storage being readily available in all the browsers AngularJS officially supports, such fallback is largely redundant.
ã ãã†ã§ã™ã€‚確ã‹ã«angularを使ã†ã‚ˆã†ãªãƒ–ラウザã§ã¯ã€localStorageをサãƒãƒ¼ãƒˆã—ã¦ã„ãªã„ケースã¯ç„¡ã„ã§ã™ã。 ã“ã‚Œã¯æ€ã„切りãŒã‚ˆã„ã§ã™ã€‚æ°—ã«å…¥ã‚Šã¾ã—ãŸã€‚
$scope.$storage = $localStorage;
ä½¿ã„æ–¹ã‚‚ã“れã ã‘ã§ã™ã€‚APIã¨ã‹ãã†ã„ã†ãƒ¬ãƒ™ãƒ«ã§ã¯ãªã„感ã˜ã€‚ã¨ã¦ã‚‚ã„ã„ã§ã™ã€‚
And use it like you-already-know
ã ãã†ã§ã™ã€‚æ°—ã«å…¥ã‚Šã¾ã—ãŸã€‚ ã“れã¯ã¤ã¾ã‚Šã€localStorageã‚’åŠ ãˆãŸ3-way data bindingã¨ã„ã†ã“ã¨ã§ã™ã。 ã“れã¯å¿œç”¨ãŒåºƒãŒã‚Šãã†ã§ã™ã€‚時間ãŒã‚ã£ãŸã‚‰ã‚³ãƒ¼ãƒ‰ã‚‚èªã‚“ã§ã¿ãŸã„ã§ã™ã€‚
ã¨ã„ã†ã‚ã‘ã§ã€ãŠã™ã™ã‚ã¯ngStorageã§ã—ãŸã€‚