1

私は背骨の問題に頭を悩ませています...

現在のモデルを保存する関数を呼び出すイベントを含むバックボーンビューがあります。

その単純な形式です。ビューでは、モデルを同期する前にいくつかの検証を行います。

this.model.save({
    completed : completed,
    company : company,
    revenue : revenue,
    term : term,
    comments : comments,
    probability : probability
  },
  {
    success: function (model, response) {
    console.log('success', model, response);
    Evision.trackRouter.navigate("tracker/", {trigger: true});
    },
    error: function (model, response) {
      console.log('error', model, response);
    }
  } 
;

成功すると、モデルのコレクションに戻り、編集する別のモデルを選択できます。この時点で、コンソールに受け取ったモデルを保存しようとすると、Chromeがクラッシュします。

このエラーを展開すると、上記を実行している関数に問題があることを示しており、モデルはコンソールでログアウトされていますが、展開しようとすると空になりますか?

2回目のルートでは成功もエラーも発生していないことは言うまでもありません。

ありがとう

編集#1

これがクラッシュ前に受け取ったエラーです

    <error>
    w.extend
    w.clone
    e.extend.toJSON
    _.extend.save
    _.extend.update
    LocalStorage.sync
    Backbone.sync
    e.extend.sync
    e.extend.save
    Evision.Views.TrackerDetail.Backbone.View.extend.saveTracker
    (anonymous function)
    j

編集#2これが私のモデルです

Evision.Models.Track = Backbone.Model.extend({

  defaults: function() {
    return {
      id : Evision.trackerList.nextOrder(),
      completed : false,
      created : Utils.datestamp(),
      company : "",
      revenue : "",
      term : "",
      comments : "",
      probability : "",
      success : null
    }
  }


});
4

2 に答える 2

0

この問題は、Jerome の Backbone.localStorage の修正バージョンに関連していたことが判明しました。これにより、アプリ内でリモート ストレージとローカル ストレージの両方が可能になります。最新の localStorage アダプターに交換しましたが、すべて正常に動作しています。残念ながら、通知する元のソースが見つかりません。

于 2013-01-31T09:27:01.093 に答える