Javascript 刷新后未显示本地存储
不管我做什么,我都不能让它工作。我已经坐了好几个小时了,什么也没有。提交表单后,我创建了本地存储的值名称、姓氏、电子邮件,这样我就可以使用它们来填写表单,这样用户就不必每次都键入它们。Javascript 刷新后未显示本地存储,javascript,angularjs,Javascript,Angularjs,不管我做什么,我都不能让它工作。我已经坐了好几个小时了,什么也没有。提交表单后,我创建了本地存储的值名称、姓氏、电子邮件,这样我就可以使用它们来填写表单,这样用户就不必每次都键入它们。 submit()在review.controller.js中 'use strict'; (功能(){ "严格使用", angular.module('app').controller('ReviewController', ReviewController); ReviewController.$injec
submit()
在review.controller.js中
'use strict';
(功能(){
"严格使用",
angular.module('app').controller('ReviewController', ReviewController);
ReviewController.$inject = ['$location', 'AuthenticationService', 'FlashService', 'UniversalService', '$scope', '$sce', '$rootScope','$route','$cookies','localStorageService'];
function ReviewController($location, AuthenticationService, FlashService, UniversalService, $scope, $sce, $rootScope,$route,$cookies,localStorageService) {
var vm = this;
vm.name = null;
vm.surname = null;
vm.Email = null;
vm.review = null;
vm.allgenres = [];
vm.submit = submit;
vm.allreviews = [];
$scope.localArray=[];
loadAllReviews();
submit();
$scope.templates = [{ name: 'man.main.view.html', url: 'main/main.view.html'}];
$scope.template = $scope.templates[0];
function loadAllReviews() {
UniversalService.GetAllReviews()
.then(function (review) {
vm.allreviews = review;
});
}
$scope.init = function () {debugger;
// $scope.$MainController.obtained_array = localStorage.getItem("storageKey");debugger;
$scope.storageKey = localStorage.getItem("storageKey");debugger;
};
$scope.storageKey = localStorage.getItem('storageKey');
/* $scope.$watch("storageKey", function() {debugger;
localStorage.setItem('storageKey', storageKey);
});*/
function submit() {
if($rootScope.name!=null) {
var JSONObject = {
"name":$rootScope.name,
"surname":$rootScope.surname,
"email":$rootScope.email,
"review":$rootScope.review
}
var temp={
"name":$rootScope.name,
"surname":$rootScope.surname,
"email":$rootScope.email
}
$scope.localArray.push(temp);
localStorageService.set("storageKey", $scope.localArray);
$scope.storageKey = localStorageService.get("storageKey");
// $rootScope.obtained_array = localStorageService.get("storageKey"); debugger;
console.log($scope.storageKey);debugger;
var Results = UniversalService.PostReview(JSON.stringify(JSONObject));
}
}
}
main.controller.js
'use strict';
var app=角度。模块('app')。控制器('MainController',MainController)
MainController.$inject=['$location','AuthenticationService','FlashService','UniversalService','$scope','$sce','$rootScope','$log','PagerService','localStorageService','$mdDialog'];
函数MainController($location、AuthenticationService、FlashService、UniversalService、$scope、$sce、$rootScope、$log、PagerService、localStorageService、$mdDialog){
var vm=这个;
vm.allreviews=[];
vm.alluser=[];
vm.allemails=[];
vm.all=[];
vm.avatars=[];
$scope.filteredAll=[];
$scope.all=[];
$scope.items=[];
$scope.pager={};
$scope.setPage=setPage;
loadAllReviews();
loadAllEmails();
loadAllUsers();
loadAll();
加载虚拟形象();
initController();
setPage();
提交();
$scope.init=函数(){
$scope.$parent.storageKey=localStorage.getItem(“storageKey”);调试器;
//$scope.govered_array=localStorage.getItem(“storageKey”);
//log(获取的数组);调试器;
//$scope.storageKey=localStorage.getItem(“storageKey”);调试器;
};
函数刷新(){
location.reload();调试器;
}
函数loadAll(){
UniversalService.GetAll()
.然后(功能(a){
$scope.all=a;
});
}
函数loadAllUsers(回调){
UniversalService.GetAll()
.然后(功能(响应){
$scope.users=响应;
如果(回调){
回调(响应);
}
});
}
函数loadAllReviews(){
UniversalService.GetAllReviews()
.然后(职能(审查){
vm.allreviews=review;
});
}
函数loadAllEmails(){
UniversalService.GetAllEmails()
.然后(功能(电子邮件){
vm.allemails=电子邮件;
});
}
函数设置页(第页){
loadAllUsers(功能(响应){
如果(答复){
如果(第<1 | |页>$scope.pager.totalPages){
返回;
}
//从服务获取寻呼机对象
$scope.everything=响应;
$scope.pager=PagerService.GetPager(response.length,page);
//获取项目的当前页面
$scope.items=response.slice($scope.pager.startIndex,$scope.pager.endIndex+1);
}
});
}
函数initController(){
$scope.setPage(1);//初始化到第1页
}
}
HTML文件:
<div class="container padding-tb" id="Review">
<div ng-controller="ReviewController" ng-init="init()" ng-app id="Review">
<h2>Add review</h2>
<form name="form" ng-submit="vm.submit()" role="form">
<div >
<div>
<div class="form-group">
<label for="name">Name</label>
<input type="text" name="text" ng-model="name" onchange="CallItems()" id="name" class="form-control" ng-model="vm.name" placeholder="Enter name here" required />
<span ng-show="form.name.$dirty && form.name.$error.required" class="help-block">Name is required</span>
</div>
</div>
<div>
<div class="form-group">
<label for="surname">Surname</label>
<input type="text" ng-model="surname" name="text" id="surname" class="form-control" ng-model="vm.surname" placeholder="Enter surname here" required/>
<span ng-show="form.surname.$dirty && form.surname.$error.required" class="help-block">Surname is required</span>
</div>
</div>
<div>
<div class="form-group">
<label for="email">Email</label>
<input type="text" name="email" id="email" class="form-control" ng-model="vm.email" placeholder="Enter email here" required />
<span ng-show="form.email.$dirty && form.email.$error.required" class="help-block">Email is required</span>
</div>
</div>
<div>
<div class="form-group">
<label for="review">Review</label>
<input type="text" name="text" id="review" class="form-control" ng-model="vm.review" placeholder="Enter review here" required/>
<span ng-show="form.review.$dirty && form.review.$error.required" class="help-block">Review is required</span>
</div>
</div>
<div class="form-actions">
<button id="submit" type="submit" onclick="passInfo()" class="btn btn-primary">Submit</button>
<label style="display:none" id="label"><font color="white">Review succesfully created!
<a onclick="refresh()" href="../ang/#!/review">Add new review</a></label> or
<a href="../ang/#!/">View reviews!</a>
</div>
</div>
</form>
<div>
<div ng-init="init()" class="slide-animate-container">
<div class="slide-animate" ng-include="main.view.html"></div>
</div>
</div>
</div>
添加评论
名称
名称是必需的
姓
姓是必需的
电子邮件
电子邮件是必需的
复习
需要进行审查
提交
评论成功创建!
或
目前,我将这些值添加到按钮,以测试是否添加了值:
{{govered_array}}
My main.view被插入review.view(因为表单和评论在同一页上,所以main用于评论列表,评论被提交表单)
提交表单后,所有这些值都显示在按钮中,但刷新页面后,这些值都不再显示。我有点理解这一切,因为我对本地存储所做的一切都在
submit()中
函数,但我不确定如何修复它您可以在第二个控制器上编写一个init
函数,并在变量中设置本地存储值。因此,每当您刷新页面时,init
函数将被调用,并且本地存储值将可供您在视图中使用请参见以下行:
<button ng-disabled="localStorage.getItem('LS_wimmtkey') !== null"> {{obtained_array}}</button>
在以下情况下:ReviewController(您正在该ctrl“LS\u wimmtkey”中进行设置)
刷新后,如何填充$rootScope值?在另一个控制器中,我有一行:`$rootScope.govered_array=localStorage.getItem(“LS_wimmtkey”);`但这似乎没有帮助。您还可以发布其他控制器代码吗请检查数据是否存储在localStorage中是存储在
$scope.init=function(){$rootScope.govered_array=localStorage.getItem(“LS_wimmtkey”);debugger;};
我写了这个,在我的视图中我称它为``提交后它有值,但刷新后,在init()中获得的_array
为空
$scope.obtained_array = localStorage.getItem("LS_wimmtkey");debugger;
$scope.$parent.obtained_array = localStorage.getItem("LS_wimmtkey");debugger;