【发布时间】:2015-11-08 01:27:03
【问题描述】:
应用内
var appRoot = angular.module('AppRoot', ['AppRoot.Factory', 'AppRoot.Constants', 'ngResource', 'ui.router']);
var factory = angular.module('AppRoot.Factory', ['ngCookies', 'ngDialog']);
var constants = angular.module('AppRoot.Constants', []);
饼干工厂
///Cookie store service
(function () {
'use strict';
angular.module('AppRoot.Factory').factory('CookieFactory', ['$cookieStore',
function ($cookieStore) {
return {
///set value on key
set: function (key, value) {
if ('undefined' === typeof value)
value = '';
$cookieStore.put(key, value);
},
///return null or value of key
get: function (key) {
var value = $cookieStore.get(key);
if ('undefined' === typeof value)
return null;
return value;
},
///test if key exist in cookie store
keyExist: function (key) {
return 'undefined' === typeof ($cookieStore.get(key));
}
}
}]);
})();
我尝试这样使用
(function () {
'use strict';
angular.module('AppRoot')
.controller('RootController', ['$rootScope','CookieFactory',
function ($rootScope,CookieFactory) {
CookieFactory.set('test', 'test');
var test = CookieFactory.get('test');
}]);
})();
但 "var test" 为空,如果我尝试调用 CookieFactory.keyExist('test') 返回 false
我使用 AngularJS v1.4.3。
- Cookies set by this page
-
我做错了什么?
编辑:
///Cookie store service
(function () {
'use strict';
angular.module('AppRoot.Factory').factory('CookieFactory', ['$cookies',
function ($cookies) {
return {
///set value on key
set: function (key, value) {
if ('undefined' === typeof value)
value = '';
$cookies.put(key, value);
},
///return null or value of key
get: function (key) {
var value = $cookies.get(key);
if ('undefined' === typeof value)
return null;
return value;
},
///test if key exist in cookie store
keyExist: function (key) {
return 'undefined' === typeof ($cookies.get(key));
}
}
}]);
})();
【问题讨论】:
-
一般来说,cookieService 已经贬值了。你应该使用 $cookies。
-
与“$cookies”的行为相同
标签: angularjs