[英]Why Angular function does not wait for the data load for HighChart?
[英]Reuse function to load data into Highchart
我有一個Highchart對象和一個加載數據的函數:
graficaPropuestas = new Highcharts.Chart({
chart: {
height: 300,
renderTo: "graficaPropuestas",
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false,
events: {
load: recogerDatosInforme('propuesta', $(this))
}
}
})
以及加載數據的功能:
function recogerDatosInforme(tipo, gr) {
$.ajax({
url: '/Licencia/recogerDatosUsuariosSistema?tipo' + tipo,
datatype: "json",
success: function(data) {
gr.series[0].setData(data);
},
cache: false
});
}
我想將graficaPropuestas對象傳遞給該函數,以便我可以重用同一函數來加載更多圖形,但是我無法使其正常工作。 如果我直接將函數graficaPropuestas對象放在success:方法上,它將很好地工作。
任何幫助,將不勝感激。
如果您只有一個graficaPropuestas
實例, graficaPropuestas
更好,更高效的方法就是使用該解決方案:
var graficaPropuestas = new Highcharts.Chart( ...
function recogerDatosInforme(tipo) {
$.ajax({
url: '/Licencia/recogerDatosUsuariosSistema?tipo' + tipo,
datatype: "json",
success: function(data) {
graficaPropuestas.series[0].setData(data);
},
cache: false
});
}
我通過這種方式解決了:
獲取數據的功能:
function recogerDatosInforme(tipo, gr) {
$.ajax({
url: '/Informes/recogerDatosInforme?tipo=' + tipo,
datatype: "json",
success: function(data) {
gr.series[0].setData(data);
},
cache: false
});
}
然后,在沒有init的events方法的情況下創建圖表:
graficaPropuestas = new Highcharts.Chart({
chart: {
height: 300,
renderTo: "graficaPropuestas",
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
}
})
然后我以圖形對象作為參數調用該函數:
recogerDatosInforme('propuesta', graficaPropuestas)
因此,現在我可以制作更多圖表對象並使用相同的函數來獲取數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.