Angular ngstorage和satellizer localstorage前缀冲突

时间:2015-11-05 07:46:42

标签: angularjs local-storage prefix satellizer ng-storage

我为我的应用使用ngstoragesatellizer个角度模块。但是我的存储前缀配置有问题。

ngstorage

  • 将数据保存为:NGSTORAGE_PREFIXkey = value
  • 默认前缀为:'ngStorage - '

对于卫星

  • 将数据保存为:SATELLIZER_PREFIX_key = value
  • 默认前缀为:'satellizer',在键
  • 之前带有附加下划线(_)

众所周知,$auth.login()令牌以satellizer_token = SOME_TOKEN

保存到localStorage后

我想将ngstorage用于localStorage的所有操作,特别是我需要访问之前保存到localStorage的satellizer_token。为此,我需要为两个模块设置相同的前缀,如下面的代码

app.js

var app = angular.module('App', [
    'satellizer',
    'ngStorage'
])

.config(function($authProvider, $localStorageProvider) {

    // Local Storage config
    $localStorageProvider.setKeyPrefix('myprefix_');

    // Auth Provider config
    $authProvider.tokenPrefix = 'myprefix_';
});

controller.js

app.controller('MyCtrl', function($scope, $localStorage) {

    // Storage
    $scope.$storage = $localStorage;

    // Set some data
    $scope.$storage.mykey = myvalue;

    // other code...
});

view.js

<div ng-controller="MyCtrl">
    {{$storage.mykey}}
    {{$storage._token}}
<div>

$auth.login()视图编译良好后,显示$storage.mykey值(即myvalue),但$storage._token没有。但是在重新加载页面之后,根本没有编译视图,并显示

{{$storage.mykey}}
{{$storage._token}}

似乎存在一些冲突。

您对此问题的解决方案是什么?感谢。

0 个答案:

没有答案