Mithril 1.1.0

redraw()


説明

アプリケーションのデータレイヤーの変更後にDOMを更新します。

このメソッドは、Mithrilのビューで定義されたイベントハンドラのコンテキスト内、あるいはm.request/m.jsonpの処理が終わった後のコールバックなどの中でデータを変更したあとは、この目sっどを呼ぶ必要はありません。

このメソッドを使うべきは、setTimeout/setInterval/requestAnimationFrameのコールバック、もしくはサードパーティーライブラリのコールバック内だけです。

通常、m.redrawは非同期の再描画を開始しますが、最後のアニメーションフレーム内で再描画がリクエストされなかった場合などに、パフォーマンスの向上を目的として同期的に再描画を行う可能性があります。それでも、常に描画が非同期に行われるものとしてコードを書かなければなりません。


シグニチャ

m.redraw()

引数 必須 説明
返り値 何も返しません

どのように動作するのか

もしMithrilの外でコールバックが実行されてデータが変更されたら、プログラマーが手動でMithrilのレンダリングエンジンに再描画が必要なことを知らせる必要があります。setTimeout/setInterval/requestAnimationFrameなどの外部のコールバック、WebSocketライブラリのコールバック、jQueryプラグインのイベントハンドラ、サードパーティライブラリのXHRリクエストのコールバックなどが該当します。

再描画をリクエストするにはm.redraw()を呼び出す必要があります。m.redrawm.mountあるいはm.routeを使用した時しか動作しない点に注意してください。m.renderを使った時は、再描画を行わせるには再度m.renderを呼び出す必要があります。

ライフサイクルメソッドからm.redrawを呼んではいけません。呼んだ時の結果は未定義です。


License: MIT. © Leo Horie.