콘솔에서 모든 backbone.js 트리거/이벤트를 자동으로 출력 할 수있는 방법이 있습니까? 그렇다면 모든 것을 볼 수 있습니까?콘솔에서 모든 backbone.js 트리거/이벤트를 자동으로 출력하는 방법이 있습니까?
감사합니다.
콘솔에서 모든 backbone.js 트리거/이벤트를 자동으로 출력 할 수있는 방법이 있습니까? 그렇다면 모든 것을 볼 수 있습니까?콘솔에서 모든 backbone.js 트리거/이벤트를 자동으로 출력하는 방법이 있습니까?
감사합니다.
이렇게하려면 Backbone.Events 'trigger'메서드를 재정의 한 다음 원래 메서드로 다시 호출하기 전에 원하는 코드를 호출해야합니다.
var originalTrigger = Backbone.Events.trigger;
Backbone.Events.trigger = function(){
console.log("Event Triggered:");
console.log(arguments.join(", "));
originalTrigger.apply(this, arguments);
}
내가 오프 손 모르겠어요,하지만 당신은 적용 호출 할 실제 배열에 인수를 슬라이스 할 수 있습니다 :
이 같은 작업을해야합니다
originalTrigger.apply(this, Array.prototype.slice.call(arguments));
당신을 이 경우 _.wrap 메소드를 사용할 수 있습니다.
여기 내 coffeescript 코드입니다.
Backbone.Events.trigger = _.wrap(Backbone.Events.trigger, (fun) ->
args = _.toArray(arguments).slice(1,)
console.log.call console, _.flatten(['trigger', args])
fun()
)
이 Hrrm, 내 코드에서는이 처리되지 않는 형식 오류가 발생합니다 : 부동산의 '트리거'정의의를 읽을 수 없습니다, Backbone.Events.trigger하지만 존재한다. @Derick – fancy
코드를 편집했습니다 ... 지금 작동해야합니다. 여전히 100 % 확실하지는 않습니다. 나는 기본적으로 내 테스트에서, tho –
굉장, 고마워, 그리고 당신은 'Array.prototype.slice.call (arguments)'해야합니까'arguments.join (",")'대신'arguments' 로그 – fancy