LocalForage + Angular - 如何在更改时自动保存整个表单对象

时间:2015-05-05 21:25:44

标签: angularjs localforage

我有一个名为productForm的范围变量,我想在它的基础模型发生变化时保存它(即productForm.designer

我希望密钥是与表单关联的产品的id,而不是基于每个输入。我尝试做这样的事情,没有运气:

intakeApp.controller("MageProductCtrl", ["$scope", "$http", "$localForage", function($scope, $http, $localForage) {
  $localForage.bind($scope, 'someProductId');
  ...
}]);

我的观点看起来像这样

<form name="productForm" ng-submit="submit(productForm.$valid)" novalidate>
  <input type="text" class="primary-text" name="designer" ng-model="product.designer" value="{{product.designer}}" required>
  ...
</form>

当我将local-forage绑定添加到我的输入时,它会使用product.designer键保存特定输入但是我希望整个表单都保存为:

key: someProductId, value: {product.designer: "foo", product.name: "bar"}

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题并想看一下绑定方法https://github.com/ocombe/angular-localForage/blob/master/dist/angular-localForage.js#L379

您可以看到仅在对象已在数据库中或提供默认值时才绑定。我解决了这个问题:

$localForage.bind($scope, { key: 'user', defaultValue: {}})