2016-02-06 12 views
5

これも可能ですか?これについて相反する報告を読み続ける。スワップアンダースコア1.8.3 for lodash 4.2.1 backbone marionette 2.4.4

私はマリオネットのアプリを持っています。ちょうど2.4.4にアップグレードされました。

私はアンダースコアの代わりにlodashにドロップすると - requireJS、

map: { 
    '*': { 
    'underscore': 'lodash' 
    } 
}, 

// 'underscore':'/resource/vendor/backbone.marionette/underscore', 
'lodash':'/resource/vendor/lodash/lodash.min', 

を使用して、私は次のエラーを取得する...

Uncaught TypeError: Cannot read property 'vent' of undefined 

lodashは大丈夫、ちょうどマリオネットが不平を言っているをアップロードしています。

ライン466のコンテキストthis

463 _proxyMethods: function() { 
464  _.each([ "vent", "commands", "reqres" ], function(system) { 
465  _.each(messageSystems[system], function(method) { 
466   this[system][method] = proxyMethod(this, system, method); 
467  }, this); 
468  }, this); 
469 } 

何かアドバイス定義されていないように見えますか?

+0

うーん、上でオフに保持しなければなりません。 'messageSystems'が' undefined'なので、465行目( 'messageSystems [system]')は失敗していますか? – Tholle

+1

いいえ、その奇数です。デバッガを使って、定義されていない 'this'を定義します。それは解決しようとしている... '' [vent "] [" on "]' –

+0

私はそれがコンテキストとして 'this'を渡している入れ子になっている何かであるかもしれないと思ったが、私は同じことを嘲笑した上記の関数がうまく動作し、うまく動作します –

答えて

8

これを見ている人は、答えはいいえです。

Lodash 3.10.1は大丈夫ですが、4.xリリースはMarionetteを壊し機能の多くからcontextオプションを削除しました。

古い方法は、新しい方法が

_.each(collection, _.bind(iteratee, context)); 

しかし、これまでのところは良いセットアップ上記requireJSで3.10.1を使用している

_.each(collection, iteratee, context); 

ました。 Marionetteが更新されるまで

だから、あなたは面白い4.x

+0

スイッチからの速度の顕著な違いを見つけることができますか? :) – Tholle

+0

私はあなたを愛している<3人 – kdureidy

+0

@Tholleいいえ、速度に目立った違いはありません –

関連する問題