以前は、serverRefresh()
メソッドを使用して、エンティティをWAFでリフレッシュする必要がありました。これは、イベント・サーバー側のinit
をトリガーします。エンティティをリフレッシュする方法、角度ワーカンダAPI
ここでは、angle-wakandaコネクタでこれを行う方法はありません。
何か不足していますか?
Angular-Wakandaコネクタで保存する前に、新しく作成したエンティティのデータを初期化するにはどうすればよいですか?
以前は、serverRefresh()
メソッドを使用して、エンティティをWAFでリフレッシュする必要がありました。これは、イベント・サーバー側のinit
をトリガーします。エンティティをリフレッシュする方法、角度ワーカンダAPI
ここでは、angle-wakandaコネクタでこれを行う方法はありません。
何か不足していますか?
Angular-Wakandaコネクタで保存する前に、新しく作成したエンティティのデータを初期化するにはどうすればよいですか?
(5/11/16から)バージョン1.1.0およびそれ以降のバージョン1.1.0以降で
、あなたは$recompute()
メソッドを使用する必要があり、古いものと同じものを行うこと(下記参照) $serverRefresh()
方法。
Angular-Wakanda Entity API Referenceに関するドキュメントがあります。アンギュラWakandaの現在バージョン(1.0.4)に
バージョン1.1.0 <
、あなたまだはあなたのエンティティに$serverRefresh()
を呼び出していることを行うことができます。
$serverRefresh()
var entity = ds.Product.$create();
entity.$serverRefresh().$promise.then(function() {
//Your entity is updated with calculated attributes filled, and right events executed
});
:新しく作成された属性(まだ保存されていない)で
init
その後、clientrefresh
イベントのサーバー側をトリガーするclientrefresh
イベントのサーバー側の引き金となるでしょうし、更新し、クライアント側のエンティティ実際、廃止予定で削除される予定です。しかし、1.1.0のバージョンでは、同じ動作をする別の、よく文書化された、あいまいではないメソッドに置き換えられます。
エンティティで$fetch()メソッドを使用する必要があります。フェッチしてすべての属性を更新し、変更を適用して$ save()を呼び出します。
も参照してください:$ serverRefresh(これから angular-wakanda doc
$ fetchメソッドは、initイベントをトリガーしません。 – Ganbin
initイベントは、新しいエンティティがサーバー上のメモリに作成された直後にトリガされます。 あなたは「lastNameの」属性に初期化イベントを関連付けるために、属性値を初期化する このイベントを使用することができます。 model.Employee.lastName.events.init =関数(イベント){ this.lastName = "「; } $ createを使用して新しいエンティティを作成すると、initイベントがトリガされます。 –
ありがとう私はすべてを知っている。私は角コネクターでこのinitイベントをトリガすることはできません。私はV1が存在する前にWakandaを使用しています(2012)。 Wakandaのワークフローを完全に理解しています。 $ fetchメソッドは、まだ作成されておらずデータベースに格納されている新しいエンティティには適用できません。 – Ganbin
)は推奨されない機能であり、間違いなく角度-Wakandaコネクタから次の1.1.0のリリースで削除されます。 エンティティで$ fetch()メソッドを使用すると、再度フェッチしてすべての属性を更新します。次に、変更を適用して$ save()を呼び出します。あなたは、次のように進行することができ、新規作成したエンティティのために 、:
var newProduct = ds.Product.$create();
newProduct.productName = "myProductName";
newProduct.price = 5.5;
newProduct.$save();
そして、この$(保存))は(イベントのinitをトリガーします。
$ createメソッドはinitイベントをトリガーしません。 – Ganbin
それは、私はそれをテストしました、本当にあなたはinitイベントを公開していますか?デバッグを実行した場合は、ブレークポイントを追加して、デバッガが実行されているかどうかを確認してください。 –
これは奇妙です。私の側では、$ createメソッドはinitメソッドを起動しません。私はそれを公開しました(たとえ私がイベントサーバ側のスコープを設定する必要がなくても、それは奇妙です)。$ createメソッドはサーバにanycallを実行しません。あなたはエンティティをセーブしていませんか?保存するとinit偶数がトリガーされます。しかし、私の場合は、保存する前にいくつかのファイルを初期化する必要があります。 – Ganbin
ありがとうございます。私はそれをテストし、フィードバックを与えます。それはいいです。新しいバージョンのレポは非公開ですか? – Ganbin
@ガンビンはい、今はプライベートです。すぐに公開されます。 – Blackus