2017-07-18 59 views
0

我現在需要如何觸發AngularJS的nvd3上的resize事件。如何使用nvd3觸發調整大小事件?

問題是我已經在餅圖中的標籤上換行了,並且當我調整窗口大小時,標籤將返回到其原始狀態(1行)。

我希望它每次觸發調整大小事件時都會斷線。

這是我HTML

<nvd3 on-ready="ctrl.onReadyPie('id')" options='ctrl.pieChartOptions' data='ctrl.data'> 
</nvd3> 

功能onReadyPie使得換行符:

function onReadyPie(id){    
    var svg = d3.selectAll('#' + id + ' svg g text'); 
    svg.each(function(){ 
     var el = d3.select(this), 
      lines = el.html().split('/'); 
     el.text(''); 
     for(var i = 0; i<lines.length; i++){ 
      var tspan = el.append('tspan').text(lines[i]); 
      if(i>0){ 
       tspan.attr('x', 0).attr('dy', 15); 
      } 
     } 
    }) 
} 

This is the current behavior

+0

請發表[極小,完整,可驗證的示例](https://stackoverflow.com/help/mcve) –

+0

好吧威廉已經更新的代碼的問題:) –

+0

你應該使用[Plunkr](https://plnkr.co/)而不是截圖 –

回答

0

這裏是你如何觸發一個事件時調整窗口大小使用NVD3。

nv.addGraph(function() { 
    var chart = nv.models.multiBarChart() 
    // You chart properties goes here 

    // Detect window resize using NVD3 
    nv.utils.windowResize(function(){ chart.update(); }); 

    return chart; 
}); 

欲瞭解更多信息,請查閱NVD3 wiki

希望它可以幫助

相關問題