이것은 Backbone.js의 앱과 관련하여 정말 이상한 문제입니다. 아코디언으로 표시되는 다른 검색 결과가 있으며 한 번에 하나의 결과 만 선택할 수 있습니다.Backbone.js model.get 값을 가져 오지 않습니다.
각 결과의 모델에는 결과가 선택되었는지 여부를 나타내는 "selected"속성이 있습니다.
어떤 이유로 나는 경기를 선택 취소 할 수 없습니다. 결과에 클릭이 발생할 때 실행되는 코드입니다.
나는 그것을 살펴 봤는데, 항상 false를 반환하고, 어떻게 든이 함수에서는 true로 설정되지 않습니다.
click_header: function (e) {
e.stopPropagation();
var s = this.model.get("selected");
if (s == true) {
this.model.set({ selected: false, expanded:false});
} else {
this.model.set("selected", true, { silent: true });
this.model.set("expanded", true, { silent: true });
}
}
편집 : 나는 문제를 해결. 선택 변경으로 트리거 된 프로그램의 다른 함수는 모든 모델에서 선택을 거짓으로 설정했습니다.
click_header: function (e) {
e.stopPropagation();
var s = this.model.get("selected");
this.model.set({ selected: !s, expanded: !s}, { silent: !s });
}
무엇을 의미합니까, 설정되지 않습니다? 사실 일 때 조용히 업데이트하고 있기 때문입니까? –
실제로 if 문을 통해 떨어졌습니다. Chrome Dev 도구를 사용하여 요소를 여러 번 클릭하고 추적하면 항상 다른 사용자에게 전달됩니다. 이벤트가이 어딘가의 영향을 무효화 할 수도 있다는 느낌이 들었습니다. –