我现在需要如何在nular3上为AngularJS触发resize事件。
问题是我在饼图中的标签上做了换行符,当我调整窗口大小时,标签返回到原始状态(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);
}
}
})
}
答案 0 :(得分:1)
以下是使用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。
希望有所帮助