资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

vue如何使用render函数

这篇文章主要介绍了vue如何使用render函数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

成都创新互联主要从事成都网站设计、网站制作、外贸营销网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务崇礼,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

render 函数

在某些场景下你可能需要render 渲染函数带来的完全编程能力来解决不太容易解决的问题,特别是要动态选择生成标签和组件类型的场景。

1 动态标签

1. 一般情况

比如根据props来生成标签的场景

其中level是data中的变量,可以看到这里有大量重复代码,如果逻辑复杂点,加上一些绑定和判断就更复杂了,这里可以利用 render 函数来对要生成的标签加以判断。

2.优化

使用 render 方法根据参数来生成对应标签可以避免上面的情况。




 import Vue from 'vue'
 Vue.component('child', {
 render(h) {
  const tag = ['div', 'p', 'strong', 'h2', 'h3', 'textarea'][this.level]
  return h(tag, this.$slots.default)
 },
 props: {
  level: { type: Number, required: true } 
 }
 }) 
 export default {
 name: 'hehe',
 data() { return { level: 3 } }
 }

2 动态组件

当然render函数还有很多用法,比如要使用动态组件,除了使用 :is 之外也可以使用render函数



 import Vue from 'vue'
 import Xixi from './Xixi'
 import Haha from './Haha'
 
 Vue.component('child', {
 render(h) {
  const tag = ['xixi', 'haha'][this.level]
  return h(tag, this.$slots.default)
 },
 props: { level: { type: Number, required: true } },
 components: { Xixi, Haha }
 })
 
 export default {
 name: 'hehe',
 data() { return { level: 0 } }
 }

感谢你能够认真阅读完这篇文章,希望小编分享的“vue如何使用render函数”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


当前名称:vue如何使用render函数
本文链接:http://www.cdkjz.cn/article/josogs.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220