0

ゾンビ ビューを処理するためにバックボーン サポートを使用するのは初めてです。導入する前は、次のような問題はありませんでした。

    this.$el.append(this.template());

    // this view fills up a select with options taken from a web services
    this.renderChildInto(new App.view.ResourcesView({name: "idActivityDesc", url: "/wfc-services/resources/activities"}), "#divIdActivityDesc");

    // population of the forms elements according to the loaded model
    this.populateSelectElements();
    this.populateTextElements();

    if(this.model.get('completed')) {
        this.$("#active").removeAttr("disabled");
    }

    this.delegateEvents(this.events);
    return this;

Firefoxでは、すべて正常に動作しています。モデルが空の場合、select要素はデフォルトの要素で設定されます。私の場合、selectedIndex-1です。

ビュー内でデバッグすると、すべて問題ないようです。メソッドを介して親にビューが発生するときに問題が発生しますrenderChildIntopopulateSelectElements()dom は問題ありませんが、モデルが空の場合に由来する変更はありません。空でない場合、問題はなく、ビューは正常に機能しています。

return this;ステートメントの前に、Chrome/Chromium でもselectedIndex-1になっているので、私は本当に困惑しています。しかし、ブラウザーでレンダリングされた最終的なビューでは、 selectedIndex0になっていることがわかります。

composite_view.js で呼び出されるコードは次のとおりです。

  renderChild: function(view) {
    view.render();
    this.children.push(view);
    view.parent = this;
  },

  renderChildInto: function(view, container) {
    this.renderChild(view);
    this.$(container).html(view.el);
  },
4

1 に答える 1