Backbone.js 뷰의 렌더링 기능을 동적으로 확장하려고합니다. 그렇게함으로써 렌더링이 호출되기 전과 후에 이벤트를 발생시킬 수 있기를 원합니다. 함수를 덮어 쓰려고 시도하고 작동하는 이전 함수를 호출했지만 렌더링 함수에 바인딩하는 모든 모델은 바인딩을 잃습니다. 나는 현재 다음은이 코드는, 내가 만든 Backbone.js보기에 통과했다 :Backbone.js 뷰의 렌더링 함수가 동적으로 수신 대기합니다.
function bindRenders(view) {
view.render = (function() {
var cachedRender = view.render;
return function() {
console.log("before render");
cachedRender.apply(this, arguments);
console.log("after render");
};
}());
}
가 다시 위의 코드가 작동하지만하여 렌더링 기능에 바인딩 된 모든 모델 :
this.model.on('change', this.render, this);
휴식. 내가 찾은 유일한 해결책은 함수를 덮어 쓴 후 모델의 .on ('change') 이벤트를 리 바인드하는 것입니다. 그러나 모든 뷰의 모델이이 방식으로 바인딩되는 것은 아닙니다. 어떤 도움이라도 대단히 감사합니다! 감사!
응답 해 주셔서 감사합니다. 레이아웃 관리자가 정확히 내가 뭘 찾고 있어요 :) –