Rumah > Soal Jawab > teks badan
Saya merangkumkan echarts
angular.module('docms')
.directive('eChart', function () {
var eChartDirective = {
restrict:'EA',
template:'<p></p>',
replace:true,
scope:{
option:'='
},
link:function(scope,eles,attrs,ctrl){
var chart = echarts.init(eles[0]);
scope.$watch('option',function(newOption){
chart = echarts.init(eles[0]);
chart.setOption(newOption);
},true);
window.addEventListener('resize',function(){
chart.resize();
})
}
}
return eChartDirective;
})
<p ng-class="{true:'col-sm-12',false:'col-sm-6'}[width]">
<e-chart option = "option"></e-chart>
</p>
Pada asalnya elemen induk p hanya menduduki 50%. Kemudian, disebabkan pelarasan kelas-ng kepada 100%,
tetapi lukisan itu telah siap pada 50%. dilaraskan. Adakah terdapat sebarang cara untuk memantau perubahan dalam lebar elemen induk dan melukis semula kavan apabila ia berubah?
高洛峰2017-05-15 17:13:11
Terima kasih atas jemputan.
Di sini anda boleh lulus pembolehubah yang menyebabkan perubahan kelas p kepada komponen eChart.
angular.module('docms')
.directive('eChart', function () {
var eChartDirective = {
restrict:'EA',
template:'<p></p>',
replace:true,
scope:{
option:'=',
forceRender:'='
},
link:function(scope,eles,attrs,ctrl){
var chart = echarts.init(eles[0]);
scope.$watch('option',function(newOption){
chart = echarts.init(eles[0]);
chart.setOption(newOption);
},true);
scope.$watch('forceRender',function(newOption){
chart.resize();
},true);
window.addEventListener('resize',function(){
chart.resize();
})
}
}
return eChartDirective;
})
<p ng-class="{true:'col-sm-12',false:'col-sm-6'}[width]">
<e-chart option="option" force-render="width"></e-chart>
</p>