0

私はオンライン/オフライン アプリケーションに取り組んでいますが、次のことに気付きました。

私は自分のコレクションで、localStorage からオフラインで取得したものを取得します。(ユーザーがオンラインでログインするたびに、サーバーから取得した追加データを使用してユーザーを保存します)

同じユーザーがオフラインでログインしようとすると、この演算子がコレクション内の演算子と一致するかどうかを確認し、エントリと一致する場合は、演算子の一致を返します。

問題は、collection.get(#id) から取得したオペレーターに、バックボーン オペレーター モデルのメソッドがないことです。

コードを修正する前は、次のようになっていました。

if( this.isLocalValidOperator( operator ) ){
  var operatorMatch = this.get(operator.get('id'));
  cb( operatorMatch );
}

私の修正、今はうまくいきます

if( this.isLocalValidOperator( operator ) ){
  var operatorMatch = this.get(operator.get('id'));
  // must add additional attributes from the match, then return the operator created with new Operator( someAttributes )
  operator.set({ 
    isSuperadmin: operatorMatch.get('isSuperadmin'),
    isModerator: operatorMatch.get('isModerator'),
    firstname: operatorMatch.get('firstname'),
    lastname: operatorMatch.get('lastname')
  });
  cb( operator );
}

私は何を間違っていますか?

4

1 に答える 1