AngularJSの$cookieStoreで有効期間(expires)を指定

AngularJSの$cookieStoreで有効期間(expires)を指定

クッキー作成は$cookieStoreが便利

AngularJSでクッキーを作成するには$cookiesか$cookieStoreを使用する。$cookieStoreだとput(),get(),remove()のメソッドが用意されているのでこちらのほうが便利だ。

$cookiesや$cookieStoreにはjquery.cookieのようにexpiresで有効期限を指定できないためnew Date()で現在の日付とクッキーを削除したい日付を指定して期日を過ぎている場合はremove()で削除するようにする必要がある。

var app = angular.module('myApp', ['ngCookies']);
var nowDate = new Date();
var endDate = new Date("2014/09/22 22:00:00");
app.controller('cookie', ['$scope', '$cookieStore', function ($scope, $cookieStore) {
  $cookieStore.put("test", "hoge");
  if(nowDate > endDate){
    $cookieStore.remove("test");
  }
  $scope.result = $cookieStore.get("test");
}]);

$cookieStoreで有効期間日にクッキーを削除するサンプル