クッキー作成は$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で有効期間日にクッキーを削除するサンプル