首页 > web前端 > Vue.js > 正文

vue渲染方法是什么

WBOY
发布: 2022-03-18 16:44:34
原创
5225 人浏览过

方法是: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: &#39;#app&#39;,
17         data: {
18             message: &#39;这是内容&#39;
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: &#39;#app&#39;,
15         data: {
16             message: &#39;这是内容&#39;
17         },
18         render: function (createElement) {
19             return createElement(&#39;p&#39;, &#39;Message is:&#39; + 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: &#39;这是内容&#39;
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: &#39;#app&#39;,
29         components: {
30             &#39;my-component&#39;: MyComponent
31         },
32         render: function (createElement) {
33             return createElement(&#39;my-component&#39;)
34         }
35         //ECMAScript6: render: h => h(&#39;my-component&#39;)
36     });
37 </script>
38 </html>
登录后复制

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

方式4:

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

【相关推荐:《vue.js教程》】

以上是vue渲染方法是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
vue
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板