站长资讯网
最全最丰富的资讯网站

vue渲染方法是什么

方法是:1、用原有模板语法,挂载渲染;2、用render属性、createElement函数直接渲染;3、用render属性,配合组件的template属性、createElement函数渲染;4、使用render属性,配合单文件组件渲染。

vue渲染方法是什么

本文操作环境:windows10系统、Vue2.9.6版,DELL G3电脑。

vue渲染方法是什么

Vue中的渲染方式个人总结可分为4种:

  • 原有模板语法,挂载渲染

  • 使用render属性,createElement函数直接渲染

  • 使用render属性,配合组件的template属性,createElement函数渲染

  • 使用render属性,配合单文件组件,createElement函数渲染

方式1: 

原有模板语法,挂载渲染,即html的方式做渲染。当页面返回时html中的v-model等属性并没有被渲染,保持不变发给客户端,客户端直到加载了Vue,创建了实例之后才会将这些标识渲染出来。

 1 <!DOCTYPE html>  2 <html lang="en">  3 <head>  4     <meta charset="UTF-8">  5     <title>TestVue</title>  6 </head>  7 <body>  8 <div id="app">  9     <input v-model="message"> 10     <p>Message is: {{ message }}</p> 11 </div> 12 </body> 13 <script src="js/vue.js"></script> 14 <script type="text/javascript"> 15     var v = new Vue({ 16         el: '#app', 17         data: { 18             message: '这是内容' 19         } 20     }); 21 </script> 22 </html>

方式2:

使用render属性,createElement函数直接渲染:原本无html,通过JavaScript 的完全编程的能力生成页面。特点是只适合一些细节渲染,虽完全控制输出,但不够直观,实现复杂。

 1 <!DOCTYPE html>  2 <html lang="en">  3 <head>  4     <meta charset="UTF-8">  5     <title>TestVue</title>  6 </head>  7 <body>  8 <div id="app">  9 </div> 10 </body> 11 <script src="js/vue.js"></script> 12 <script type="text/javascript"> 13     var v = new Vue({ 14         el: '#app', 15         data: { 16             message: '这是内容' 17         }, 18         render: function (createElement) { 19             return createElement('p', 'Message is:' + this.message) 20         } 21     }); 22 </script> 23 </html>

方式3:

使用render属性,配合组件的template属性,createElement函数渲染。

相比于上一个方式,加入组件,利用template属性,更为直观,同样是原本无html,通过render函数渲染。

 1 <!DOCTYPE html>  2 <html lang="en">  3 <head>  4     <meta charset="UTF-8">  5     <title>TestVue</title>  6 </head>  7 <body>  8 <div id="app">  9 </div> 10 </body> 11 <script src="js/vue.js"></script> 12 <script type="text/javascript"> 13     var MyComponent = { 14         data () { 15             return { 16                 message: '这是内容' 17             } 18         }, 19         template: ` 20         <div id="app"> 21             <input v-model="message"> 22             <p>Message is: {{ message }}</p> 23         </div> 24         ` 25     }; 26  27     var v = new Vue({ 28         el: '#app', 29         components: { 30             'my-component': MyComponent 31         }, 32         render: function (createElement) { 33             return createElement('my-component') 34         } 35         //ECMAScript6: render: h => h('my-component') 36     }); 37 </script> 38 </html>

特点是动态渲染,并且通过组件实现了模块分离,但是html模板被包在““里,使用不方便,IDE无法高亮代码,不适合大型项目。

方式4:

使用render属性,配合单文件组件,createElement函数渲染。这种方式是绝大部分Vue项目(官方脚手架就是采用该渲染方式)的渲染方式。使用过vue CLI的话应该都比较了解吧。特点就是单文件组件,模块化,动态渲染,典型的单页面应用。

赞(0)
分享到: 更多 (0)