vue 组件的进阶

动态组件

多个组件使用同一个挂载点,并动态进行切换,这就是动态组件

:is  可以切换挂载的组件

将导入的多个组件一起导入

<component :is="comName"></component>

<template>
  <div>
      <button @click="comName = 'UserName'">账号密码填写</button>
      <button @click="comName = 'UserInfo'">个人信息填写</button>

      <p>下面显示注册组件-动态切换:</p>
      <div style="border: 1px solid red;">
          <component :is="comName"></component>
      </div>
  </div>
</template>

<script>

import UserName from '../components/01/UserName'
import UserInfo from '../components/01/UserInfo'
export default {
    data(){
        return {
            comName: "UserName"
        }
    },
    components: {
        UserName,
        UserInfo
    }
}
</script>

组件缓存

组件切换会导致组件被频繁销毁和重新创建,性能不高

<div style="border: 1px solid red;">
    <!-- Vue内置keep-alive组件, 把包起来的组件缓存起来 -->
    <keep-alive>
        <component :is="comName"></component>
    </keep-alive>
</div>

keep-alivek可以提高组件的性能,内部包裹的标签不会被销毁和重新创建,触发激活和非激活的生命周期方法

激活和非激活

被缓存的组件不再创建和销毁,而是激活和非激活

2个钩子方法名:

        activated  —激活触发

        deactiveted —失去激活状态触发

        。。。。。。。。。。。。。。。。。。

上一篇:微信小程序实现登录授权,并将获取到的用户授权信息存储到数据库中


下一篇:基于Springboot整合RestTemplate调用Webservice接口