0

フォームがあり、ルーターで送信コードを処理します。私のテンプレートにはこれがあります:

    {{#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( ...)」。私がやった方法よりも「一般的な」方法でそうするための最良の方法は何でしょうか?

4

1 に答える 1

1

コントローラがであるEmber.ObjectController場合は、のプロパティに透過的にアクセスできますcontent。監視しているレコードがである場合は、追加のコード、バインディング、または何を持っているかを指定せずに、コントローラーcontentで監視することができます。isSaving

于 2013-03-26T11:37:46.510 に答える