【发布时间】:2017-12-01 18:13:27
【问题描述】:
我想创建 cookie(如果不存在),它会在以后保留输入字段,这样用户就不需要每次都输入。但我不确定这一切是如何运作的? 以前我使用本地存储完成了这项工作,但每次提交时,我的本地存储都会被覆盖。 有人可以澄清我应该如何为该用户创建 cookie 并保留输入字段并且不让它们在提交时重写的步骤吗?
【问题讨论】:
我想创建 cookie(如果不存在),它会在以后保留输入字段,这样用户就不需要每次都输入。但我不确定这一切是如何运作的? 以前我使用本地存储完成了这项工作,但每次提交时,我的本地存储都会被覆盖。 有人可以澄清我应该如何为该用户创建 cookie 并保留输入字段并且不让它们在提交时重写的步骤吗?
【问题讨论】:
如果您想使用 cookie,请查看 Angular 的 $cookies 文档。
但实际上,本地存储应该可以正常工作。您只需要在再次设置之前检查 cookie/storage 中的值是否已经设置。如果您不这样做,无论您使用的是 cookie 还是 localStorage,都会遇到同样的问题。
<div ng-app="HelloWorldApp">
<div ng-controller="HelloWorldController">
<form>
<input ng-model="myInput"/>
<button ng-click="submitForm()">Click Me</button>
</form>
</div>
</div>
还有 javascript:
angular.module('HelloWorldApp', [])
.controller('HelloWorldController', function($scope) {
var savedInput = localStorage.getItem("savedInput");
if (savedInput){
$scope.myInput = savedInput;
}
$scope.submitForm = function(){
if (!localStorage.getItem("savedInput") && $scope.myInput){
localStorage.setItem("savedInput", $scope.myInput);
}
alert($scope.myInput);
};
});
【讨论】: