如何在 angular js 中使用 factory/service 中的 $cookie?
How to use $cookie in factory/service in angular js?
在我正在构建的应用程序之一中,我想在服务中使用 $cookie(.factory(...))。
当我使用 $cookie 时,出现 $injector/module 错误。任何人都可以在这方面帮助我吗?
这是我写的代码。
app.factory("AuthenticationService", function($location,$cookies,setUserCreds)
{
return {
login: function(credentials) {
if (credentials.username == "MyName" || credentials.password == "admin") {
$cookies.put("userName",credentials.username);
$location.path('/home');
}
}}});
这是 angular 文档中的示例:
myApp.factory('apiToken', ['clientId', function apiTokenFactory(clientId) {
var encrypt = function(data1, data2) {
// NSA-proof encryption algorithm:
return (data1 + ':' + data2).toUpperCase();
};
var secret = window.localStorage.getItem('myApp.secret');
var apiToken = encrypt(clientId, secret);
return apiToken;
}]);
'clientId'
是模块识别服务的名称,传递给工厂函数的参数是工厂识别它的名称。你只有参数。
你的应该是这样的:
app.factory("AuthenticationService",['$location', '$cookies', 'setUserCreds', function($location, $cookies, setUserCreds) {
...
}]);
$injector 错误通常等于 "What service are you talking about?"
在我正在构建的应用程序之一中,我想在服务中使用 $cookie(.factory(...))。
当我使用 $cookie 时,出现 $injector/module 错误。任何人都可以在这方面帮助我吗?
这是我写的代码。
app.factory("AuthenticationService", function($location,$cookies,setUserCreds)
{
return {
login: function(credentials) {
if (credentials.username == "MyName" || credentials.password == "admin") {
$cookies.put("userName",credentials.username);
$location.path('/home');
}
}}});
这是 angular 文档中的示例:
myApp.factory('apiToken', ['clientId', function apiTokenFactory(clientId) {
var encrypt = function(data1, data2) {
// NSA-proof encryption algorithm:
return (data1 + ':' + data2).toUpperCase();
};
var secret = window.localStorage.getItem('myApp.secret');
var apiToken = encrypt(clientId, secret);
return apiToken;
}]);
'clientId'
是模块识别服务的名称,传递给工厂函数的参数是工厂识别它的名称。你只有参数。
你的应该是这样的:
app.factory("AuthenticationService",['$location', '$cookies', 'setUserCreds', function($location, $cookies, setUserCreds) {
...
}]);
$injector 错误通常等于 "What service are you talking about?"