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
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で動作するはずです。 (まもなく公開します)