を保存するとき、私はモデルhasDirtyAttributesember.jsは手動
がhasDirtyAttributesフラグがするとき、関連モデルへの参照を設定していないように見えるときアクティブに私のテンプレートで保存ボタンがクリアされていないhasDirtyAttributesを設定します変更。
例
私は、関連するモデルで選ぶことができますドロップダウンは、私が直接の属性(例えば、名前)を変更した場合、すべてが期待どおりに動作し、保存ボタン接触
と呼ばれています活性化する。
私は連絡先を変更しても、これは意図していないと思いますので、私は変更アクションが発生したときにフラグを設定します。
私はそうのような私のルートアクションでこれを設定しています:今、それが再び動作する
actions:{
updateProductionContact: function(contact){
this.set('currentModel.customer.hasDirtyAttributes',true);
this.set('currentModel.customer.production_contact',contact);
},
}
。連絡先を変更すると、保存ボタンが点灯します。
しかし、今度はsaveをクリックすると、hasDirtyAttributesフラグはtrueのままです(ボタンはアクティブのままです)。以前は別の変更が行われるまでクリアされていました。
私は以前のように、保存に成功した後、自動的にフレームワークを再設定するためのフラグを期待します。私はもちろん、ボタンの保存アクションにフラグを再設定することができます。
私は問題の周りに自分の道をハッキング、そしておそらくhasDirtyAttributesを手動で設定すべきではないか、私は汚れの異なる指標を使用する必要があることをことをしていますようにそれは感じています。
質問:正しく処理するにはどうすればよいですか?
はい、永続的なレコードガイド(https://guides.emberjs.com/v2.13.0/models/creating-updating-anddeleting-records)に従って値が汚れていないかどうかを確認するには、 'hasDirtyAttributes'を使用してください/#toc_persisting-records)。しかし、私は保存後になぜ汚れが本当に残っているのか分かりません。あなたは、エバースラック 一般的なチャンネルで多くの助けを求めることができます。 – AlexMA