2013-04-08 12 views
2

로다시 (및 밑줄)에는 mixin() 함수가있어 자신의 속성으로 lodash를 확장 할 수 있습니다.mixod() 함수를 lodash 및 JSONSelect와 함께 사용

내 경우에는 제대로 작동합니다. . . 거의.

JSONSelect.match를 lodash에 추가하여 체인 내에서 사용할 수있게하려고합니다. _.match(selector, object)에만 전화를 걸었을 때 작동하지만 체인에는 연결되지 않습니다. 즉

, 내가 할 수있는 :

_.match를 (, 자동차의 이름을. ')

_.match (.. '이름'_ (자동차) .chain() 값());

하지만

_ (대) .chain() 일치 ('이름입니다.') 값을()..;

다음은 피들입니다. 처음 3 개의 버튼이 작동하고 마지막 3 개의 버튼은 작동하지 않습니다. 어떻게 해결할 수 있습니까?

http://jsfiddle.net/marclar/sBGR6/

답변

3

귀하의 사용이 잘못되었습니다.

_.foo(value, arg1, arg2); 

체인 때 내부적 _.foo(value, ...)

_(value).chain().foo(arg1, arg2); 

및 소모품 value로 이동 : 일반적으로 밑줄/소호 - 대시 방법은이 패턴을 따릅니다.

예에서 _.match('.name', cars)_.match(cars, '.name')으로 변경해야합니다. 이렇게하면 _(cars).chain().match('.name').value()이 작동합니다.

Lo-Dash 체인을 사용하면 .chain()이 아닌 자동으로 .chain()이 지원됩니다 (lodash underscore 호환 빌드에서 지원됨).

+0

Yeay-yYAYYY !!! 너 덕분에 일 했어. New fiddle : http://jsfiddle.net/marclar/sBGR6/5/ – marclar

+0

그리고 네, 밑줄 호환 빌드를 사용하고 있습니다. 고마워, 존 - 데이비드! – marclar