标签: angular-local-storage

如何在typescript Angular 4中将字符串转换为boolean

我知道不是第一个问这个问题,正如我在标题中提到的,我正在尝试转换字符串值布尔值.

我之前已经将一些值放入本地存储中,现在我想获取所有值并将所有值分配给一些布尔变量.

app.component.ts

localStorage.setItem('CheckOutPageReload', this.btnLoginNumOne + ',' + this.btnLoginEdit);
Run Code Online (Sandbox Code Playgroud)

这里this.btnLoginNumOnethis.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中的解决方案,但没有任何工作.

任何人都可以帮我解决这个问题.

typescript angular-local-storage angular

27
推荐指数
3
解决办法
4万
查看次数

如何设置和获取angular2-localstorage?

从这个回购,我已经成功配置了这个:

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)

local-storage typescript angular-local-storage angular

10
推荐指数
1
解决办法
3万
查看次数

如何从Angular2本地存储中保存和检索数据?

我能够在浏览器中存储身份验证令牌localstorage,但我无法将其作为字符串检索.我找不到任何关于如何做到这一点的例子.

angularjs typescript angular-local-storage angular

9
推荐指数
1
解决办法
1万
查看次数

angular-cache无法按预期工作

我试图将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)

问题 -

  1. 在页面刷新(f5),我确实看到再次打印控制台消息,在http调用中,我可以看到"中心"信息正在下载,它不是从缓存中选取的.
  2. 在从一个页面导航到另一个页面时,我看不到控制台消息被打印.但我确实看到"中心"api被调用.数据正在网络选项卡中下载.它应该从缓存中选择.

我觉得它不是从缓存中挑选数据.我错过了什么吗?

caching local-storage angularjs angular-cache angular-local-storage

8
推荐指数
1
解决办法
603
查看次数

如何在使用Angular-translate时在LocalStorage中保留所选语言?

我是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

任何直接的帮助都将非常值得注意.谢谢

angularjs angular-local-storage angular-translate

6
推荐指数
1
解决办法
7668
查看次数

作为匿名用户进行身份验证

我想重现 plunker 如何管理匿名帐户。

Plunker 可以识别匿名用户。例如,我们可以将一个 plunker 保存为anonym然后freeze它。因此,

  1. 只有同一用户(在清除浏览器历史记录之前)才能完全访问此插件(例如,保存修改、解冻)。

  2. 如果同一用户在另一个浏览器中打开它或其他用户打开同一链接,他们不能进行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

6
推荐指数
1
解决办法
4579
查看次数

无法退出离子

嗨我有离子登录和注销的问题.

每次注销后,我仍然可以单击后退按钮,它将返回到我的上一页.我可以知道如何在注销时清除或删除会话,以便用户无法从登录返回上一页吗?

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)

angularjs ionic-framework angular-local-storage

5
推荐指数
2
解决办法
8810
查看次数

如何在角度通用中使用localStorage?

我正在使用 @angular v4.0.3 和 webpack 2.2.0。

使用Auler post工作正常,但当我包含 localStorage 时它停止工作。有什么方法可以使它在 angular Universal 中工作或用于 localStorage 的任何模块

local-storage angular-local-storage angular-universal angular

5
推荐指数
1
解决办法
3131
查看次数

Jasmine angularjs - 在初始化控制器时调用的角度局部存储方法的间谍

类似的问题: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)

javascript jasmine angularjs angular-local-storage

4
推荐指数
1
解决办法
4532
查看次数

如何在angularjs中使用ngStorage

访问https://github.com/gsklee/ngStorage.

我的代码有2个部分,在partial1我有3个输入框,输入的数据是'abc','pqr','xyz',点击按钮我想重定向到partial2,其中输入框填充了以下内容在控制器'abcpqr','abxy'中计算的详细信息.

两个部分都使用localStorage [ngStorage],并且在控制器中这些值得到计算,并在点击按钮[ng-click ="functionName()"]时被推送到partial2.该函数具有执行计算的逻辑.这该怎么做?

在应用程序中我创建了两个部分中的20多个这样的字段,所以我不想传递值而是将它们存储在localStorage中并从那里访问.

angularjs angular-local-storage ng-storage

3
推荐指数
1
解决办法
4万
查看次数