2

我有一个名为的范围变量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.designerBUT 键保存特定输入,我宁愿将整个表单保存为:

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

任何想法我做错了什么?

4

1 回答 1

1

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

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

$localForage.bind($scope, { key: 'user', defaultValue: {}})
于 2016-01-12T11:02:16.067 回答