Vueの _render
方法は、ノードの仮想インスタンスをレンダリングするために使用されている民間の方法の一例である、リターンがVNODEです
Vueがで公式文書で説明し render
ている最初のパラメータの関数 createElement
の前にその組み合わせの例:
<div id="app"> {{ message }} </div>
我々は、次の同等の書き込み render
機能を:
render: function (createElement) { return createElement('div', { attrs: { id: 'app' }, }, this.message) }
戻る _render
の機能 render
メソッド呼び出し:
vnode = render.call(vm._renderProxy, vm.$createElement)
あなたが見ることができる、render
機能 createElement
方法がある vm.$createElement
方法:
export function initRender (vm: Component) { // ... // bind the createElement fn to this instance // so that we get proper render context inside it. // args order: tag, data, children, normalizationType, alwaysNormalize // internal version is used by render functions compiled from templates vm._c = (a, b, c, d) => createElement(vm, a, b, c, d, false) // normalization is always applied for the public version, used in // user-written render functions. vm.$createElement = (a, b, c, d) => createElement(vm, a, b, c, d, true) }
実際には、vm.$createElement
メソッドが実行中で定義されてい initRender
ますが、他に見ることができたときにメソッドの vm.$createElement
方法があり、 vm._c
この方法は、それがテンプレートにコンパイルされた render
関数は使用しており、 vm.$createElement
ユーザーの手書きされた render
方法を使用し、多分同じパラメータをサポートする方法、そして内部はと呼ばれている createElement
方法。