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.designer保存されますが、フォーム全体が次のように保存される場合は、むしろ次のようになります。

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 に答える