【Vue.js】之动态组件与异步组件

1.动态组件
  • :is = “component-name” 用法
  • 需要根据数据,动态渲染的场景。即组件类型不确定
    在这里插入图片描述
代码实例
<template>
  <div>
      <p>vue高级特性</p>
      <hr>
      <!-- 动态组件 -->
      <component :is="NextTickName"></component>
  </div>
</template>

<script>
import NextTick from './nextTick'
export default {
  components: {
    NextTick
  },
  data () {
    return {
      name: '夹心',
      website: {
        url: 'http://imooc.com/',
        title: 'imooc',
        subTitle: '程序员的梦工厂'
      },
      NextTickName: 'NextTick'
    }
  }
}
</script>

<style>

</style>

模拟新闻页面详情
<template>
   <div>
      <!-- 动态组件 -->
      <component :is="NextTickName"></component>
      <div v-for="item in newsData" :key="item.id">
        <component :is="item.type"></component>
      </div>
  </div>
</template>

<script>
export default {
  data () {
    return {
      newsData: [
        {
          id: 1,
          type: 'text'
        },
        {
          id: 2,
          type: 'text'
        },
        {
          id: 3,
          type: 'image'
        }
      ]
    }
  }
}
</script>
2.异步组件
  • import() 函数
  • 按需加载,异步加载大组件
export default {
  components: {
    FormDemo: () => import('../components/FormDemo')
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值