Vue 中可以定义组件模版的几种方式
前端组件化开发已经是一个老生常谈的话题了,组件化让我们的开发效率以及维护成本带来了质的提升。
因为现在的系统越来越复杂庞大,所以开发与维护成本就变得必须要考虑的问题,滋生出了目前的三大前端框架 Vue、Angular、React。
那今天我们就来看看 Vue 中有哪些定义组件模版的方式以及他们之间的一些差别。
字符串形式
Vue 最简单直接的一种定义组件模版的方式,方式写起来很不友好,就像我们以前拼接 HTML 元素是一样的,很痛苦,所以我们并不常用
Vue.ponent("my-button", { data: function () { return { label: "是兄弟就来砍我" } }, template: "<button>{{label}}</button>" });
模版字面量
模版字面量 ES6 语法,与字符串不同的是,我们可以进行多行书写,相对单纯字符串有很大优势,体验更优,可能浏览器兼容性会存在问题,需要进行转译为 ES5 语法。
Vue.ponent("my-content", { data: function () { return { label: "是兄弟就来砍我", content: "刀刀暴击" } }, template: ` <div> <button>{{ label }}</button> <span>{{ content }}</span> </div> ` });
内联模版(inline-template)
与 「X-template」模版定义方式被称为模版定义的替代品,把内容定义在组件标签元素的内部,而不是作为 slot 内容分发,方式比较灵活,给让我们组件的模版与其他属性分离开。
<my-label inline-template> <span>{{label}}</span> </my-label> Vue.ponent('my-label', { data: function () { return { label: "赶紧上车吧,兄die" } } })
X-template
定义一个 <script> 标签,标记 text/x-template
类型,通过 id 链接。
<script type="text/x-template" id="label-template"> <span>{{label}}</span> </script> Vue.ponent('my-label', { template: "#label-template", data: function () { return { label: "赶紧上车吧,兄die" } } })
渲染函数
渲染函数需要 JavaScript 完全的编程能力,而且比模版更接近编译,但需要我们非常熟悉 Vue的实例属性,也会更加的抽象。像 v-if v-for
指令就可以用 JavaScript 语法轻松实现。
Vue.ponent('my-label', { data: function () { return { items: ['来就送!', '来就送!', '来就送!'] } }, render: function (createElement) { if (this.items.length) { return createElement('ul', this.items.map(function (item) { return createElement('li', item) })) } else { return createElement('p', '活动结束') } } })
JSX
相比渲染函数的抽象而言,JSX 比较容易一些,对于熟悉 React 的同学是比较友好的。
Vue.ponent('my-label', { data: function () { return { label: ["活动结束"] } }, render(){ return <div>{this.label}</div> } })
单文件组件
使用构建工具 cli 创建项目,综合来看单文件组件应该是最好的定义组件的方式,而且不会带来额外的模版语法的学习成本。
<template> <div> <ul> <li v-for="(item, index) in items" :key="index">{{item}}</li> </ul> </div> </template> <script> export default { data() { return { items: ["我砍", "我砍", "我砍"] }; } }; </script>
以上就是 Vue 中可以定义组件模版的几种方式,有人可能说,我特么要知道这么多干嘛,只要一种不就行了,我想说兄die多知道几种可以帮助我们在不同的条件下做出更好的选择。
比如你就需要开发一个简单的页面,你非要弄个单文件组件,脚手架跑起来,何必呢,你说对不。
以上所述是长沙网络推广给大家介绍的Vue 中可以定义组件模版的几种方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,长沙网络推广会及时回复大家的。在此也非常感谢大家对狼蚁SEO网站的支持!
如果你觉得本文对你有帮助,欢迎网络推广网站推广转载,烦请注明出处,谢谢!
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程