View 防止组件重新绘制Mithril&x2B;ChartJS
我正试图在一张由米特里尔的组件制作的画布上画画。我的问题是,我不希望在应用程序需要时重新绘制此组件的视图。我发现每次启动重画时,onremove/oncreate方法都在调用。每次重新绘制应用程序时,Mithril是否会重新创建我的画布?有没有解决方案可以避免这种情况,因为我无法在应用程序每次需要重新绘制时调用createPlot() 我的代码:View 防止组件重新绘制Mithril&x2B;ChartJS,view,components,chart.js,redraw,mithril.js,View,Components,Chart.js,Redraw,Mithril.js,我正试图在一张由米特里尔的组件制作的画布上画画。我的问题是,我不希望在应用程序需要时重新绘制此组件的视图。我发现每次启动重画时,onremove/oncreate方法都在调用。每次重新绘制应用程序时,Mithril是否会重新创建我的画布?有没有解决方案可以避免这种情况,因为我无法在应用程序每次需要重新绘制时调用createPlot() 我的代码: export default function ResultsLinePlot(state){ return { onremo
export default function ResultsLinePlot(state){
return {
onremove: function() {
},
oncreate: function(){
if(_filter(state)){
createPlot() // ChartJS draw the plot in the canvas "ChartLinePlot"
}
},
view : function(){
return _filter(state) ? m('div', {class: 'row'}, [
(state.results.length > 0) ? m('div', {class: 'col-md-12'},[
m('canvas',{id:"chartLinePlot",width:"400",height:"400"})
]) : null
]) : null
}
}
}
尝试改为
oninit
,并在需要时使用流更新视图看起来很像是oninit和oncreate之间的混淆。