我对AngularJS很陌生,似乎有一个简单的任务。我想在一个空页面上重用AngluarJS LocalStorageModule (没有UI,只执行一次并重定向)。
我的尝试是这样的:
<html>
<head>
<script src="../bower_components/angular/angular.js"></script>
<script src="../bower_components/angular-local-storage/dist/angular-local-storage.js"></script>
<script>
var myApp = angular.module('myApp', [ 'LocalStorageModule' ])
.factory(
function(localStorageService) {
localStorageService.set('username', 'some-user');
localStorageService.set('token', 'somevalue'));
window.location = location.protocol + '//' + location.hostname
+ (location.port ? ':' + location.port : '');
});
</script>
</head>
<body ng-app="myApp">You are being redirected
</body>
</html>
不幸的是,没有调用工厂函数。如果用配置替换工厂,则调用函数,但localStorageServiceProvider不公开所需的set()方法。
我练习的目的是在实际的AngularJS应用程序的本地浏览器存储中存储值,其中浏览器在执行上述代码之后被重定向到该应用程序,以便它能够读取和使用存储的值。
发布于 2016-06-09 23:32:15
您需要注入模块,配置它,然后再使用它。
//load and config the modules
var myApp = angular.module('myApp', [ 'LocalStorageModule' ]);
myApp.config(function (localStorageServiceProvider) {
localStorageServiceProvider
.setPrefix('samePrefixAsTheTargetApp');
});
//this function is called only once
myApp.run(function(localStorageService){
localStorageService.set('username', 'some-user');
localStorageService.set('token', 'somevalue'));
window.location = location.protocol + '//' + location.hostname
+ (location.port ? ':' + location.port : '');
})发布于 2016-06-09 23:15:59
您想要做的是使用ngStorage模块及其工厂、$localStorage和$sessionStorage在浏览器上本地保存数据。
然后,在重定向保存值之前:
$sessionStorage.someVal ="blah"重定向后,读一读:
$scope.val = $sessionStorage.someValhttps://stackoverflow.com/questions/37737614
复制相似问题