검색 쿼리가 컨트롤러 상태로 기록되는 철분 라우터를 사용하여 디 바운스 검색을 구현하려고합니다. 불행하게도 나는 일에 _.debounce를 얻을 수있는 유일한 방법은과 같이 이벤트 맵에 직접 전달하는 것입니다 : 이벤트 맵에서 _bounce 및 Iron.controller()
Template.search.events({
'keydown #search': _.debounce(function(event) {
var controller = Iron.controller();
}, 750)
});
불행하게도 Iron.controller은() 때문에 에러가 떨어 여기 문맥을 모르는
.그러나 Ironounce.controller() 함수를 사용하여 debounce를 중첩하면 _.debounce는 실행되지 않습니다.
Template.search.events({
'keydown #search': function(event) {
var state = Iron.controller().state;
var q = $(event.currentTarget).val();
_.debounce(function() {
state.set("q", q);
}, 750);
}
});
아무도 비슷한 문제를 해결하지 못했습니까?
하지만 왜이 기능이 작동하지 않습니까? _.debounce를 다른 기능으로 옮겨야하는 이유는 무엇입니까? – sclausen
'_debounce (func)'는 래퍼이며, 함수를 반환합니다. 그래서 두 번째 예제에서 랩핑 된 함수를 생성하는 것입니다 ...하지만 결코 실행하지 마십시오. 첫 번째 예에서는 랩핑 된 함수를 속성 (작동)에 할당했으며이 대답에서 Peppe L-G는이를 변수에 할당 한 다음 실행했습니다. 따라서 두 번째 예제에서 구문을 조금 변경하거나 변수에 배치하여이 작업을 수행 할 수도 있습니다. –