클라이언트 코드 예제를 찾으십시오. 수동 드래그 또는 메시지 스트림별로 서버에서 새로운 값을 가져 와서 값을 변경할 수있는 jQuery 간단한 슬라이더 처리.유성 반응 클라이언트 코드 : 코드 작성의 최선/올바른 방법을 묻습니다.
Template.SLIDER.rendered 이벤트에서 div 요소에 jQuery UI 슬라이더를 만듭니다. 내가에 가입
(스트림 통지에 의해 여기) 서버에서 이벤트에 의해도 슬라이더 값을 업데이트해야하기 때문에
나는, 내가 이런 짓을
var에 Div_Slider에서 DIV 요소에 대한 참조 var에 저장 반응하는 세션 변수 "slider_value"Deps.autorun().
Session.set이 호출 될 때이 요소가 이미 렌더링 된 경우 이벤트도 Slider.value를 업데이트해야합니다.
대신 $ ('# servo-slide')를 사용하십시오. 두 번 이상 DOM을 반복적으로 검사해야합니다.이 로컬 Div_Slider var를 참조로 준비하고 jQuery UI Slider와의 상호 작용 중에 사용합니다.
Q : 이것이 최고의 성능 기술입니까? - 로컬 .js 파일 범위 만들기 vars가 일반적으로 사용되는 요소를 참조합니까?
Q : 샘플 코드에 대한 제안 사항이 있으십니까? 나에게서 또 다른 질문에 Nathans 주석과 대답을 사용
{ ... }
/*
--------------- Slider
*/
// save reference to slider
var Div_Slider = undefined;
// be reactive on Session value slider_value
Deps.autorun(function() {
// we just operate when available
if (Session.equals('slider_value', undefined))
return;
// be reactive on slider_value
var slider_value = Session.get('slider_value');
// set jQuery slider position
if (!_.isUndefined(Div_Slider)) {
Servo_Slider.slider({value: slider_value});
}
});
// listen to the stream
notifications.on('change_slider_value', function(new_value) {
// we are updating the sliders value, this will also update the Session value in onChange event
Session.set("slider_value", new_value);
});
Template.SLIDER.rendered = function() {
// save reference to elements
Div_Slider = $(this.find('#servo-slide'));
// update div as slider
Servo_Slider.slider({
min: 0,
max: 100,
step: 1,
range: "min",
value: Session.get("slider_value"),
change:
function(event, ui) {
// only do something if the event was generated here
if (event.originalEvent) {
// do your actions
}
}
});
}
{ ... }
잘 보인다. 서버의 속도 제한 알림을 고려해보십시오. 또한 템플릿이 더 이상 사용되지 않을 때'Deps.autorun'에서 계산을 멈추는 것을보십시오. –