Backbone: v1.3.2backbone.jsとbackbone-min.jsは同じではありません

作成日 2016年03月22日  ·  7コメント  ·  ソース: jashkenas/backbone

1.3.2の縮小版には含まれていないようです
https://github.com/jashkenas/backbone/commit/1db79ddd33f65e4ca93beb3174496cf148baebe5
一方、縮小されていないバージョンはそうです。

縮小されていない

Events.once = function(name, callback, context) {
    // Map the event into a `{event: once}` object.
    var events = eventsApi(onceMap, {}, name, callback, _.bind(this.off, this));
    if (typeof name === 'string' && context == null) callback = void 0;
    return this.on(events, callback, context);
  };

縮小

l.once=function(t,e,r){
  var n=f(p,{},t,e,i.bind(this.off,this));
  return this.on(n,e,r)
}

@jridgewell @megawac

bug

全てのコメント7件

test / index.htmlでbackbone.jsをbackbone-min.jsに置き換えると、これに関するテストが失敗することを確認しました

はぁ。 @megawac

https://github.com/jashkenas/backbone/pull/3994を提供しました
縮小版を使用するようにindex.htmlファイルを変更することを検討しましたが、テストする前に全員がビルドするかどうかはわかりませんでした。

マリオネット互換の縮小バックボーンv1.3.xは間もなく登場しますか? まだ存在しないafaik

1.3.2はMarionette2.4.5@elgubenisで動作します

実際、Mn 2.4.5複合ビューには、縮小されたバックボーン1.3.2に問題があります。そのため、この問題を最初に見つけました。

CollectionViewsは1回でバインドします
this.once('render', this._initialEvents);
https://github.com/marionettejs/backbone.marionette/blob/master/src/collection-view.js#L25

CollectionViewを拡張する複合ビュー
if (this.collection) {で始まる_initialEventsがあります
https://github.com/marionettejs/backbone.marionette/blob/master/src/composite-view.js#L23
その時点で、 thisコンテキストが失われるため(修正が必要なためhttps://github.com/jashkenas/backbone/commit/1db79ddd33f65e4ca93beb3174496cf148baebe5)、this.collectionは偽であるため、開始されません。コレクションイベントを適切にリッスンする

したがって、レンダリングする前にコレクションが設定されているCompositeViewsのCollectionViewsを使用している場合は注意してください。

さて、ええ、更新された縮小ファイルでバージョンを再公開する必要がありますが、マスター上のbackbone.jsファイルは2.4.5で動作するはずです。 (まもなく公開します)

このページは役に立ちましたか?
0 / 5 - 0 評価