Rickshaw JS를 사용하여 그래프를 작성하고 있습니다. 이렇게하려면 호출 할 때 그래프를 렌더링하는 함수를 만들었습니다. 내가 직면 한 문제는 스크립트 태그 내에서 호출 될 때 함수가 모든 것을 잘 렌더링한다는 것입니다. 그러나 AJAX 호출의 성공 함수에서 호출 될 때 축이 표시되지 않습니다.AJAX 성공 함수 내에서 Rickshaw JS 축 렌더링 문제가 발생했습니다
관련 코드 :
<script>
function ProbabilityPlot(a) {
var graph = new Rickshaw.Graph({
...
});
graph.render();
var xAxis = new Rickshaw.Graph.Axis.X({
...
});
xAxis.render();
var yAxis = new Rickshaw.Graph.Axis.Y({
...
});
yAxis.render();
};
$.ajax({
url: plotURl,
dataType: 'json',
cache: false,
success: function(data) {
ProbabilityPlot([ {{plot_data}} ]); <-- axes do NOT work
}
});
ProbabilityPlot([ {{plot_data}} ]); <-- eveything works perfectly
</script>
I 함수에 전달 된 매개 변수가 두 경우 모두 동일한 지 확인할 수 있습니다.
코드에서 '.bind (this)'의 요점은 무엇입니까? 콜백 함수를 바인딩하는 것은 없습니다. 또한 괄호가 일치하지 않습니다. 코드의 들여 쓰기를 수정하고 중괄호를 일치시키고 콜백에서 'this'가 가리킬 것으로 예상되는 것을 설명하십시오. – Tomalak
현재 _ {{plot_data}} _로 표시되는 정적 데이터를 얻습니다. 이제 AJAX로 전환하여 비동기 데이터를 가져옵니다. 나는이 함수를 내가 만든 그래프의 DOM 요소에 연결하기 위해 bind (this)를 사용하고 있었다. 질문에서 코드를 추가로 업데이트했습니다. – Shubham
내가 직면 한 문제와 관련이 없다고 생각하면서 원래 스 니펫에서 _bind (this) _를 제거했습니다. – Shubham