Backbone: v1.3.2 backbone.js e backbone-min.js não são os mesmos

Criado em 22 mar. 2016  ·  7Comentários  ·  Fonte: jashkenas/backbone

A versão reduzida de 1.3.2 não parece incluir
https://github.com/jashkenas/backbone/commit/1db79ddd33f65e4ca93beb3174496cf148baebe5
enquanto a versão não minimizada o faz.

Não minimizado

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);
  };

Minificado

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

Todos 7 comentários

Eu verifiquei que os testes em torno disso falham quando você substitui backbone.js por backbone-min.js no test / index.html

Suspirar. @megawac , você pode criar um PR v1.3.3 já que não consigo acertar?

Acabei de oferecer https://github.com/jashkenas/backbone/pull/3994
Considerei alterar o arquivo index.html para usar a versão reduzida, mas não tinha certeza se todos iriam construir antes de testar.

Haverá algum backbone minimizado compatível com marionetes v1.3.x em breve? nenhum existente ainda afaik

1.3.2 funciona com Marionette 2.4.5 @elgubenis

Na verdade, as visualizações compostas do Mn 2.4.5 têm um problema com o backbone reduzido 1.3.2, foi assim que encontrei esse problema para começar.

CollectionViews se vinculam uma vez
this.once('render', this._initialEvents);
https://github.com/marionettejs/backbone.marionette/blob/master/src/collection-view.js#L25

Visualizações compostas, que estendem CollectionView
têm _initialEvents que começam com if (this.collection) {
https://github.com/marionettejs/backbone.marionette/blob/master/src/composite-view.js#L23
nesse ponto, o contexto this é perdido (devido à necessidade de correção https://github.com/jashkenas/backbone/commit/1db79ddd33f65e4ca93beb3174496cf148baebe5), então this.collection é falsey e, portanto, não inicia ouvir os eventos de coleta de forma adequada

Portanto, tome cuidado se estiver usando CollectionViews de CompositeViews que possuem uma coleção definida antes da renderização.

Ok, sim, temos que republicar uma versão com um arquivo reduzido atualizado, mas o arquivo backbone.js no master deve funcionar com 2.4.5. (publicaremos em breve)

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

alundiak picture alundiak  ·  7Comentários

azizZaben picture azizZaben  ·  5Comentários

miguelpayet picture miguelpayet  ·  9Comentários

zowers picture zowers  ·  11Comentários

gfranko picture gfranko  ·  18Comentários