我知道不是第一个问这个问题,正如我在标题中提到的,我正在尝试转换字符串值布尔值.
我之前已经将一些值放入本地存储中,现在我想获取所有值并将所有值分配给一些布尔变量.
app.component.ts
localStorage.setItem('CheckOutPageReload', this.btnLoginNumOne + ',' + this.btnLoginEdit);
Run Code Online (Sandbox Code Playgroud)
这里this.btnLoginNumOne 和this.btnLoginEdit是字符串值("真,假") .
mirror.component.ts
if (localStorage.getItem('CheckOutPageReload')) {
let stringToSplit = localStorage.getItem('CheckOutPageReload');
this.pageLoadParams = stringToSplit.split(',');
this.btnLoginNumOne = this.pageLoadParams[0]; //here I got the error as boolean value is not assignable to string
this.btnLoginEdit = this.pageLoadParams[1]; //here I got the error as boolean value is not assignable to string
}
Run Code Online (Sandbox Code Playgroud)
在这个组件中,this.btnLoginNumOne和this.btnLoginEdit是布尔值;
我尝试了stackoverflow中的解决方案,但没有任何工作.
任何人都可以帮我解决这个问题.
从这个回购,我已经成功配置了这个:
import {Component} from "angular2/core";
import {LocalStorageService} from "angular2-localstorage/LocalStorageEmitter";
@Component({
provider: [LocalStorageService]
})
export class AppRoot{
constructor(private storageService: LocalStorageService){}
...
}
Run Code Online (Sandbox Code Playgroud)
如何使用storageService设置或获取本地存储?即使在doc中我也找不到任何例子.
经过一些测试,我已经设法让它通过WebStorage与Decorator合作:
import {LocalStorage, SessionStorage} from "angular2-localstorage/WebStorage";
@Component({})
export class LoginComponent implements OnInit {
@LocalStorage() public username:string = 'hello world';
ngOnInit() {
console.log('username', this.username);
// it prints username hello world
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我使用Chrome Dev查看我的本地存储时,我什么都没看到:

在另一个组件中,
import {LocalStorage, SessionStorage} from "angular2-localstorage/WebStorage";
@Component({})
export class DashboardComponent implements OnInit {
@LocalStorage() public username:string;
ngOnInit() {
console.log(this.username);
// it prints …Run Code Online (Sandbox Code Playgroud) 我能够在浏览器中存储身份验证令牌localstorage,但我无法将其作为字符串检索.我找不到任何关于如何做到这一点的例子.
我试图将angular-cache模块用于我的项目,但不确定它是否正常工作.以下是代码 -
angular.module('TrackerApp').factory('TrackerFactory', function ($resource, CacheFactory) {
if (!CacheFactory.get('CenterCache')) {
console.log('cache does not exists');
CacheFactory.createCache('CenterCache', {
maxAge: 5 * 60 * 1000,
deleteOnExpire: 'aggressive'
});
}
var centerCache = CacheFactory.get('CenterCache');
var CenterClass = $resource(_ServiceBaseURL + 'api/Center/:id',{},{
query: {
method: 'GET',
cache: centerCache,
isArray:true
}
});
CenterClass.GetMultipleAsObject = function () { return this.query(); };
return {
CenterClass: CenterClass
};
});
Run Code Online (Sandbox Code Playgroud)
在加载应用程序时,它会在控制台中打印"缓存不存在"的消息,它会在本地存储中创建缓存.它创建了本地存储的关键 -
“angular-cache.caches.CenterCache.keys” = [http://localhost/Services/Tracker/api/Center]
Run Code Online (Sandbox Code Playgroud)
另一个关键是创建
“angular-cache.caches.CenterCache.data.http:// localhost/Services/Tracker/api/Center” = mystoredvalue
Run Code Online (Sandbox Code Playgroud)
问题 -
我觉得它不是从缓存中挑选数据.我错过了什么吗?
caching local-storage angularjs angular-cache angular-local-storage
我是Angular应用程序中的角度翻译新手.
要求:
我必须创建一个多语言应用程序AngularJS,用户可以选择设置他的语言.因此,为此,我必须从文件加载翻译并保存该首选语言localStorage.因此,如果用户再次访问该应用程序,他将显示先前设置的语言.
到目前为止我做了什么:
使用的加载文件翻译 $translateProvider.useStaticFilesLoader
代码:
var app = angular.module("myLangApp", ['pascalprecht.translate'])
app.config(function($translateProvider) {
$translateProvider.useStaticFilesLoader({
prefix: 'languages/',
suffix: '.json'
});
$translateProvider.useLocalStorage();
});
Run Code Online (Sandbox Code Playgroud)
如果我评论此行,应用程序工作正常:
// $translateProvider.useLocalStorage();
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用它,我在控制台上收到此错误:
我也把angular-translate-storage-local.min.js文件包含在我的index.html.但是没有成功.
我也在SO中看到了这些问题,但它们没有帮助: Angular-translate的localStorage:未知的提供者:$ translateLocalStorageProvider
任何直接的帮助都将非常值得注意.谢谢
我想重现 plunker 如何管理匿名帐户。
Plunker 可以识别匿名用户。例如,我们可以将一个 plunker 保存为anonym然后freeze它。因此,
只有同一用户(在清除浏览器历史记录之前)才能完全访问此插件(例如,保存修改、解冻)。
如果同一用户在另一个浏览器中打开它或其他用户打开同一链接,他们不能进行save任何修改;他们必须fork这样做。
在我的网站中,我使用管理命名用户local的策略。passport.js例如,
router.post('/login', function (req, res, next) {
if (!req.body.username || !req.body.password)
return res.status(400).json({ message: 'Please fill out all fields' });
passport.authenticate('local', function (err, user, info) {
if (err) return next(err);
if (user) res.json({ token: user.generateJWT() });
else return res.status(401).json(info);
})(req, res, next);
});
Run Code Online (Sandbox Code Playgroud)
我使用 alocalStorage来存储令牌。例如,
auth.logIn = function (user) {
return $http.post('/login', user).success(function (token) { …Run Code Online (Sandbox Code Playgroud) authentication local-storage angular-local-storage passport.js
嗨我有离子登录和注销的问题.
每次注销后,我仍然可以单击后退按钮,它将返回到我的上一页.我可以知道如何在注销时清除或删除会话,以便用户无法从登录返回上一页吗?
var default_stat;
$scope.logout = function(){
$ionicLoading.show({template:'Logging out....'});
$localstorage.set('loggin_state', '');
$state.go('login');
$ionicLoading.hide();
$ionicHistory.clearHistory();
$ionicHistory.clearCache();
};
Run Code Online (Sandbox Code Playgroud)
在登录期间,我使用localstorage来指示用户已登录
$localstorage.set('loggin_state', '1');
Run Code Online (Sandbox Code Playgroud) 我正在使用 @angular v4.0.3 和 webpack 2.2.0。
使用Auler post工作正常,但当我包含 localStorage 时它停止工作。有什么方法可以使它在 angular Universal 中工作或用于 localStorage 的任何模块
local-storage angular-local-storage angular-universal angular
类似的问题:Jasmine angularjs - 监视控制器初始化时调用的方法
在我的控制器中,我使用angular-local-storage包通过注入提供localStorageService.
在我的单元测试中,我想确保从服务中检索数据,因此我监视"get"和"add"方法并模拟它们(.andCallFake).
这适用于通过$ scope调用的所有方法.$ watch - 只要我强制$ digest.但是对于在控制器初始化时调用的方法,它似乎不起作用.任何人都可以建议为什么这不起作用?
应用> Main.js
angular.module('angularTodoApp')
.controller('MainCtrl',['$scope','localStorageService',function ($scope, localStorageService) {
var todosInStore = localStorageService.get('todos');
$scope.todos = todosInStore && todosInStore.split('\n') || [];
//$scope.todos = ['Item 1', 'Item 2', 'Item 3'];
$scope.$watch('todos', function(){
localStorageService.add('todos', $scope.todos.join('\n'));
},true);
$scope.addTodo = function() {
$scope.todos.push($scope.todo);
$scope.todo = '';
};
$scope.removeTodo = function(index) {
$scope.todos.splice(index,1);
};
}]);
Run Code Online (Sandbox Code Playgroud)
测试> Main.js
describe('Controller: MainCtrl', function () {
// load the controller's module
beforeEach(module('angularTodoApp'));
var MainCtrl,
scope,
localStorageService,
store = …Run Code Online (Sandbox Code Playgroud) 访问https://github.com/gsklee/ngStorage.
我的代码有2个部分,在partial1我有3个输入框,输入的数据是'abc','pqr','xyz',点击按钮我想重定向到partial2,其中输入框填充了以下内容在控制器'abcpqr','abxy'中计算的详细信息.
两个部分都使用localStorage [ngStorage],并且在控制器中这些值得到计算,并在点击按钮[ng-click ="functionName()"]时被推送到partial2.该函数具有执行计算的逻辑.这该怎么做?
在应用程序中我创建了两个部分中的20多个这样的字段,所以我不想传递值而是将它们存储在localStorage中并从那里访问.
angularjs ×6
angular ×4
typescript ×3
caching ×1
jasmine ×1
javascript ×1
ng-storage ×1
passport.js ×1