문제

초기에 Amcharts.Ready에서 모든 Amchart Configs를 넣습니다.

<script src="amcharts/amcharts.js" type="text/javascript"></script>
<script src="amcharts/serial.js" type="text/javascript"></script>
<script>
    AmCharts.ready(function() {
      console.log("this works");
      /* Other configs */
    })
</script>
.

어쨌든 amcharts가 requirejs를 충족하는 relcharts-meets-requirejs/"hr> "> Amchart.Ready의 콜백 내부의 코드는 실행되지 않습니다.(이상하게 디버깅 중에 한 번 실행)

도움이 되었습니까?

해결책

몇 가지 테스트 후 Amchart.Ready는 윈도우로부터 윈도우를 실행하기 위해 나중에 팝업 된 onReadyArray로 콜백을 푸시합니다.즉, amchart가 window.onload 이벤트 이후로드되면 Amchart.Ready는 쓸모가 없습니다.내 해결 방법은 다음과 같습니다.

<script>
    configChart = function() {
      /* Create charts stuff */
    };
    if (AmCharts.isReady) {
      configChart();
    } else {
      AmCharts.ready(configChart);
    }
</script>
.

다른 팁

는 여전히 최신 버전 (현재 버전 3.14.1)에서 작동하지 않지만 수동으로 handleLoad 메서드를 호출하는 수정 사항은 다음과 같습니다.

AmCharts.handleLoad();
.

여러 번 호출하는 것은 해를 끼치 지 않습니다.

차트를 비동기 적으로로드하기 때문에 "Amcharts.IsReady= True"를 수동으로 설정해야했습니다.내 Amcharts 기능을 호출하기 전에.예 :

var chartData1 = [];
function generateChartData() {
   ...
}

function createStockChart() {
   ...
}

if ($('.amChartDivExists').length > 0) {
    AmCharts.isReady = true;
    generateChartData();
    createStockChart();
}
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top