1

以前はserverRefresh()、WAF を使用してエンティティを更新する方法がありました。initイベントサーバー側をトリガーします。

angular-wakanda コネクタを使用してそれを行う方法は今のところありません。

何か不足していますか?

Angular-Wakanda コネクタで保存する前に、新しく作成されたエンティティのデータを初期化するにはどうすればよいですか?

4

3 に答える 3

2

バージョン 1.1.0 以降 (2016 年 5 月 11 日から)

バージョン 1.1.0 以降$recompute()では、古い (以下を参照)$serverRefresh()メソッドと同じことを行うメソッドを使用する必要があります。

ドキュメントはAngular-Wakanda Entity API Referenceにあります。

バージョン <1.1.0

上で現在バージョン (1.0.4) の Angular-Wakandaでも$serverRefresh()、エンティティを呼び出すことでそれを行うことができます。

var entity = ds.Product.$create();
entity.$serverRefresh().$promise.then(function () {
  //Your entity is updated with calculated attributes filled, and right events executed
});

何をするか$serverRefresh()は次のとおりです。

  • 新しく作成された属性 (まだ保存されていない) では、サーバー側のイベントがトリガーされinitclientrefreshクライアント側のエンティティが更新されます。
  • 既に保存されているエンティティでは、サーバー側でイベントをトリガーしclientrefresh、クライアント側のエンティティを更新します

確かに、それは非推奨であり、削除されます。ただし、バージョン 1.1.0 では、同じ動作をする、十分に文書化された、あいまいでない別の方法に置き換えられます。

于 2016-03-22T15:50:43.330 に答える
1

今後、$serverRefresh() は非推奨の機能となり、次の 1.1.0 リリースで Angular-Wakanda コネクタから完全に削除されます。エンティティで $fetch() メソッドを使用できます。エンティティを再度フェッチし、すべての属性を更新します。次に、変更を適用して $save() を呼び出します。新しい Created エンティティの場合、次のように進めることができます。

            var newProduct = ds.Product.$create();
            newProduct.productName = "myProductName";
            newProduct.price = 5.5;
            newProduct.$save();

そして、この $save() はイベント init() をトリガーします。

于 2016-03-21T17:14:14.113 に答える