我想保留在表单中输入的数据,以便在用户单击后退按钮然后返回到表单时,输入的信息仍会显示在相应的字段中。我已经尝试使用此Stack Overflow答案作为模型,但我没有运气:https://stackoverflow.com/a/16806510/640508
我正在使用Controller As语法。
这是我改编的代码:
控制器:
angular.module('myApp')
.controller('ContactFormCtrl', ['formMemory', '$http', function (formMemory, $http) {
var contactForm = this;
contactForm.contact=formMemory;
formMemory.set();
formMemory.get();
// . . .
}]);
服务:
angular.module('formMemory.fact', [])
.factory('formMemory', function () {
var contact = {};
return {
get: function () {
return contact;
},
set: function (value) {
contact = value;
},
reset: function () {
contact = {};
}
};
HTML:
<h1><small>ContactInformation</small></h1>
<form name="myForm" novalidate >
<div class="row">
<div class="col-sm-4 form-group">
<label class="control-label" for="first-name">First Name</label>
<input type="text" id="first-name" name="firstName" ng-model="contactForm.contact.firstName"
placeholder="First Name" class="form-control">
</div>
// . . .
app.js:
angular.module('myApp', [
'formMemory.fact',
//. . .
]);
答案 0 :(得分:0)
工厂return false
返回一个匿名对象,附加了3个函数。您没有使用正确的语法来访问这些函数。
要访问保存的数据,您需要将控制器变量设置为$(document).on('change', '#images', function(){
files = this.files;
size = files[0].size;
if (size < 1000141) {
return true;
// exit();
// end;
}
alert('Please upload less than 1mb file');
return false;
});
//rest of your code
函数的返回值,如下所示:
formMemory
如果您离开时保存数据,则应将get()
作为参数传递给contactForm.contact = formMemory.get();
;最有可能的是,您可以在contact
。
set(value)