1

ユーザー登録を使用して ember.js Web アプリを構築しています。登録が失敗した場合 (無効な電子メールなど)、API はエラーを返します。問題は、これによりモデルがエラー状態になり、ユーザーがもう一度登録しようとすると、Ember.js レイザーがエラーUncaught Error: Attempted to handle event 'willSetProperty' on <App.User:ember451:null> while in state rootState.error.になり、応答しなくなったように見えることです。

エラーが発生した後、状態を手動でリセットする必要がありますか?

becameInvalid: function() {
    // reset the state after an error
    var parentState = this.get('stateManager').get('currentState').parentState.dirtyType;
    if (parentState === "updated") {
      this.get('stateManager').transitionTo('loaded.updated');
    } else {
      this.get('stateManager').transitionTo('loaded.created.uncommitted');
    }

  }

これはちょっと奇妙に思えます。これを間違って設定しましたか?別の方法はありますか、またはエラー後にリセットする必要がありますか?

4

2 に答える 2

0

状態を手動でリセットする必要があります。Ember 自体はモデル管理を扱いません。Ember-Data と Ember-Model (Ember とは別のもの) には、「ダーティ」モデルをロールバック/元に戻す機能があります。

于 2013-08-27T04:33:25.890 に答える