is属性的用法vue

目录

1.用法

2.组件缓存

3.使xxx激活


1.用法

  • 直接渲染组件

<div is='引入的组件名称'></div>
  • 动态组件切换(常用)

<div :is='变量'></div>
data(){
    return {
        变量:'组件名称'
    }
}

我们注册的组件,有两种方式去渲染,普通is属性渲染

<!-- 1、普通:当做标签元素去渲染 -->
<v-son></v-son>
​
<!-- 2、通过is属性去渲染组件,这个时候组件名就不用烤串写法 -->
<div is='vSon'></div>

但是,is属性通常用于渲染动态组件(选项卡),如下:

<div>
    <button @click="comType='vSon'">子组件</button>
    <button @click="comType='vGoods'">商品组件</button>
</div>
<div :is="comType"></div>
// 引入子组件
import vSon from "./son.vue";
import vGoods from "./goods.vue";
export default {
    data() {
        return {
            comType: "vSon",
        };
    },
    components: {
        vSon,
        vGoods,
    },
};

2.组件缓存

keep-alive内置组件:组件缓存

keep:处理

alive:活跃的

当组件切换时,是类似于v-show还是类似于v-if?

我们在每个子组件中添加上挂载完成钩子函数

事实证明,类似于v-if,哪这就有个问题,如果组件的内容没有发生变化,我们不需要每次都重新加载DOM节点。因此就需要组件缓存。即将需要缓存的组件放入<keep-alive></keep-alive>

<!-- 组件的缓存 -->
<keep-alive>
    <div :is="comType"></div>
</keep-alive>

3.使xxx激活

activated:激活的

如果整个组件缓存了,但是该组件中某部分又不需要缓存,则可以使用activated使xxx被激活的钩子函数,它会每次都执行。即缓存了以后,mounted只执行一次,但是activated每次都会执行

注意:这个钩子函数,必须在缓存了之后才会有

activated() {
    // 使。。。激活  钩子函数
    console.log("激活了");
    // 如果某一部分内容不需要被缓存,可以放在这个函数中渲染
    this.timer = new Date().toLocaleTimeString();
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值