zoukankan      html  css  js  c++  java
  • vue页面优化中的v-show和v-if使用比较

    在页面中使用了v-if做了一个tab框,点击不同的tab框,并加载不同的内容,
    由于各tab框对应的内容是4到5张统计图,加载的数据量比较大,发现后台请求响应
    返回的时间很快,在100ms以内,但点击tab框切换加载内容时,会有一个明显的卡顿感。

     

    v-if:根据表达式的值在DOM中生成或者销毁一个元素,值是false就会在DOM中销毁,反之会渲染相应元素到DOM中
    支持加在<template>标签上


    v-show是根据表达式的值来显示或者隐藏元素,根据的是display的值进行控制显隐
    不支持加在<template>标签上


    在v-if切换的时候,vue内部有一个局部编译/卸载的过程,需要消耗较多时间。因为v-if可能是数据绑定或者子组件。
    v-if是真真正正的条件渲染;然而他是惰性的,在初始值是false的时候,他就什么都不足,在为真的时候才会开始局部变异
    相比之下v-show则是更简单一下,仅仅是css上的切换
    所以,v-if有更高的切换消耗,而v-show有更高的初始渲染消耗;
    因此,如果是频繁切换,就用v-show;在条件很难改变,比如某个模块在用户a出显示,就用v-if

    据上,我将tab页切换控制显示的v-if改为v-show后,页面会很快的渲染和响应,不再出现短暂的停顿。

  • 相关阅读:
    python发送邮件
    nginx的信号量和平滑升级
    CentOS6下nginx的源码安装
    mysql备份与还原之mysqldump
    myslq基本语法(3)
    mysql基本语法(2)
    MySQL中数据表和数据的操作
    mysql概述及基本语法(1)
    shell的随机数
    浏览器的跨域问题的解决办法
  • 原文地址:https://www.cnblogs.com/zjdxr-up/p/10654757.html
Copyright © 2011-2022 走看看