それはすべての小さな圧倒的なことができ、ここではそれらのものが
が機能
Vueのは、あなたのVueのインスタンスをコンパイルするとき、それはあなたのHTMLの純粋なJavaScriptの表現である、render function
を作成し、レンダリングされているものです。このような何か:
new Vue({
template: `<div>{{msg}}</div>`,
data:{
msg: 'Hello Vue
}
}).$mount('#app')
は、実際にこのようなものに変わります:
new Vue({
render: function(createElement) {
return createElement('div', this.msg)
},
data: {
msg: 'Hello Vue'
}
}).$mount('#app')
がここにJSFiddleです:https://jsfiddle.net/bvvbmpLo/
あなたがそれを処理する必要はありません、Vueのはあなたのためにそれを行い、ほとんどの場合、レンダリング機能を記述することはほとんどありません。しかし、Vueは純粋なJavaScriptでテンプレートを表現するためにシーンの背後にある作業を行っていることを理解することが重要です。
仮想DOM再レンダリングと
にパッチを当て、それはだから、あなたは本当にこのことについて知っている必要はありませんが、Vueが仮想DOMを使用して変更を追跡し、DOMの必要性のどの部分を決定する方が簡単です更新する。実際には
あなたが状態変化したときに、何が起こることはVueのは、DOM(vTree
と呼ばれる)を表し、ツリーを構築していることで、それは今のように、現在のvTree
、前vTree
を比較diffing
アルゴリズムと呼ばれるものを使用しています表示されている状態を反映するためにページのどの部分を変更する必要があるかを把握しようとします。新しい状態を表すためにページの小さな部分を変更することは、patching
と呼ばれています。
これは、仮想DOMのかなり高いレベルの概要です。これを効率的に機能させることは大変複雑なので、Vueのようなフレームワークが最初に存在しています。それについてもっと学びたいと思ったら、GithubのMatt-Esch/virtual-domを見てみてください。このコンセプトは、このコンセプトについて詳しく説明しています。
ありがとう、これは役に立ちます!ライフサイクルのもう1つのステップについての説明を含めてください。「vm。$ elを作成し、elをそれに置き換えてください。 –