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

LocalForage + Angular - how to automatically save entire form object on change

我有一个名为 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"}

知道我做错了什么吗?

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

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

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