フォームがあり、ルーターで送信コードを処理します。私のテンプレートにはこれがあります:
{{#if isSaving}}
Saving...
{{else}}
<form>
inputs...
</form>
{{/if}}
ルーター内に保存するための私のコードはこれです(ctrlはコントローラーです):
events: {
saveCompany: function(record, ctrl){
if (!record.get('isDirty')) return;
ctrl.set('isSaving', true);
record.one('didUpdate', this, function() {
ctrl.set('isSaving', false);
});
record.get('transaction').commit();
},
ユーザーが[送信]をクリックすると、更新が完了すると「保存中...」が適切に表示および非表示になります。しかし、私はすでにモデル定義でdidCreate、DidUpdateなどを処理しています-いくつかのポップアップを表示することによって、それでもデータが保存されている間にユーザーがフォームをいじるのを防ぎたいので、「record.one( ...)」。私がやった方法よりも「一般的な」方法でそうするための最良の方法は何でしょうか?