十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Vue 中怎么定义组件模版,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
北仑ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!
字符串形式
Vue 最简单直接的一种定义组件模版的方式,但是方式写起来很不友好,就像我们以前拼接 HTML 元素是一样的,很痛苦,所以我们并不常用
Vue.component("my-button", { data: function () { return { label: "是兄弟就来砍我" } }, template: "" });
模版字面量
模版字面量 ES6 语法,与字符串不同的是,我们可以进行多行书写,相对单纯字符串有很大优势,体验更优,但是可能浏览器兼容性会存在问题,需要进行转译为 ES5 语法。
Vue.component("my-content", { data: function () { return { label: "是兄弟就来砍我", content: "刀刀暴击" } }, template: `{{ content }}` });
内联模版(inline-template)
与 「X-template」模版定义方式被称为模版定义的替代品,把内容定义在组件标签元素的内部,而不是作为 slot 内容分发,方式比较灵活,但是给让我们组件的模版与其他属性分离开。
{{label}} Vue.component('my-label', { data: function () { return { label: "赶紧上车吧,兄die" } } })
X-template
定义一个 Vue.component('my-label', { template: "#label-template", data: function () { return { label: "赶紧上车吧,兄die" } } })
渲染函数
渲染函数需要 JavaScript 完全的编程能力,而且比模版更接近编译,但需要我们非常熟悉 Vue的实例属性,也会更加的抽象。像 v-if v-for
指令就可以用 JavaScript 语法轻松实现。
Vue.component('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.component('my-label', { data: function () { return { label: ["活动结束"] } }, render(){ return{this.label}} })
单文件组件
使用构建工具 cli 创建项目,综合来看单文件组件应该是最好的定义组件的方式,而且不会带来额外的模版语法的学习成本。
- {{item}}
关于Vue 中怎么定义组件模版问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。